@@ -79,7 +79,7 @@ def get_jwt_keys(jwt, keys, use):
7979
8080
8181class JWT (object ):
82- def __init__ (self , own_keys , iss = '' , rec_keys = None , lifetime = 0 ,
82+ def __init__ (self , own_keys = None , iss = '' , rec_keys = None , lifetime = 0 ,
8383 sign_alg = 'RS256' , encrypt = False , enc_enc = "A128CBC-HS256" ,
8484 enc_alg = "RSA1_5" ):
8585 self .own_keys = own_keys
@@ -92,6 +92,15 @@ def __init__(self, own_keys, iss='', rec_keys=None, lifetime=0,
9292 self .enc_enc = enc_enc
9393 self .with_jti = False
9494
95+ def receiver_keys (self , recv ):
96+ return self .rec_keys [recv ]
97+
98+ def receivers_keys (self ):
99+ return self .rec_keys
100+
101+ def my_keys (self ):
102+ return self .own_keys
103+
95104 def _encrypt (self , payload , recv , cty = 'JWT' ):
96105 kwargs = {"alg" : self .enc_alg , "enc" : self .enc_enc }
97106
@@ -100,7 +109,7 @@ def _encrypt(self, payload, recv, cty='JWT'):
100109
101110 # use the clients public key for encryption
102111 _jwe = JWE (payload , ** kwargs )
103- return _jwe .encrypt (self .rec_keys [ recv ] , context = "public" )
112+ return _jwe .encrypt (self .receiver_keys ( recv ) , context = "public" )
104113
105114 def pack_init (self ):
106115 """
@@ -121,7 +130,7 @@ def pack_key(self, owner='', kid=''):
121130 :param kid: Key ID
122131 :return: One key
123132 """
124- keys = pick_key (self .own_keys , 'sig' , alg = self .sign_alg , kid = kid )
133+ keys = pick_key (self .my_keys () , 'sig' , alg = self .sign_alg , kid = kid )
125134
126135 if not keys :
127136 raise NoSuitableSigningKeys ('kid={}' .format (kid ))
@@ -173,7 +182,7 @@ def pack(self, payload=None, kid='', owner='', recv='', **kwargs):
173182 return _sjwt
174183
175184 def _verify (self , rj , token ):
176- keys = get_jwt_keys (rj .jwt , self .rec_keys , 'sig' )
185+ keys = get_jwt_keys (rj .jwt , self .receivers_keys () , 'sig' )
177186 return rj .verify_compact (token , keys )
178187
179188 def _decrypt (self , rj , token ):
0 commit comments