@@ -137,7 +137,8 @@ def is_authenticated(self) -> bool:
137137 def is_authenticated_token (self , token_value : dict ) -> dict :
138138 if token_value :
139139 if token_value .is_expired ():
140- return self ._refresh_token_value (token_value )
140+ self ._refresh_token_value (token_value )
141+ return True
141142 return None
142143
143144 def create_org (self ) -> str :
@@ -335,32 +336,26 @@ def _decode_token_if_needed(self, token_name: str) -> None:
335336 raise KindeTokenException (f"Token { token_name } doesn't exist." )
336337
337338 def _decode_token_if_needed_value (self , token_name : str , token_value : dict ) -> dict :
338- if token_name not in token_value :
339- if not token_value :
340- raise KindeTokenException (
341- "Access token doesn't exist.\n "
342- "When grant_type is CLIENT_CREDENTIALS use fetch_token().\n "
343- 'For other grant_type use "get_login_url()" or "get_register_url()".'
344- )
345- token = token_value .get (token_name )
339+ token = token_value .get (token_name )
346340
347- signing_key = self .jwks_client .get_signing_key_from_jwt (token )
341+ if not isinstance (token , str ):
342+ return token_value
348343
349- if token :
350- decode_token_params = {
351- "jwt" : token ,
352- "key" : signing_key . key ,
353- "algorithms" :[ "RS256" ] ,
354- "options" :{
355- "verify_signature" : True ,
356- "verify_exp " : True ,
357- "verify_aud " : False
358- }
344+ signing_key = self . jwks_client . get_signing_key_from_jwt ( token )
345+ if signing_key :
346+ decode_token_params = {
347+ "jwt" : token ,
348+ "key" : signing_key . key ,
349+ "algorithms" :[ "RS256" ],
350+ "options" :{
351+ "verify_signature " : True ,
352+ "verify_exp " : True ,
353+ "verify_aud" : False
359354 }
360- return jwt . decode ( ** decode_token_params )
361- else :
362- raise KindeTokenException ( f"Token { token_name } doesn't exist." )
363- return token_value
355+ }
356+ return { token_name : jwt . decode ( ** decode_token_params )}
357+ else :
358+ raise KindeTokenException ( f"Token { token_name } doesn't exist." )
364359
365360 def fetch_token (self , authorization_response : Optional [str ] = None ) -> None :
366361 if self .grant_type == GrantType .CLIENT_CREDENTIALS :
0 commit comments