Skip to content

Commit 174248e

Browse files
authored
Merge pull request #656 from borislaviv/master
Extract load_key construction to separate method
2 parents 12da188 + 341ce0e commit 174248e

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

authlib/integrations/base_client/sync_openid.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,8 @@ def parse_id_token(self, token, nonce, claims_options=None, leeway=120):
3333
"""Return an instance of UserInfo from token's ``id_token``."""
3434
if 'id_token' not in token:
3535
return None
36-
37-
def load_key(header, _):
38-
jwk_set = JsonWebKey.import_key_set(self.fetch_jwk_set())
39-
try:
40-
return jwk_set.find_by_kid(header.get('kid'))
41-
except ValueError:
42-
# re-try with new jwk set
43-
jwk_set = JsonWebKey.import_key_set(self.fetch_jwk_set(force=True))
44-
return jwk_set.find_by_kid(header.get('kid'))
36+
37+
load_key = self.create_load_key()
4538

4639
claims_params = dict(
4740
nonce=nonce,
@@ -75,3 +68,15 @@ def load_key(header, _):
7568

7669
claims.validate(leeway=leeway)
7770
return UserInfo(claims)
71+
72+
def create_load_key(self):
73+
def load_key(header, _):
74+
jwk_set = JsonWebKey.import_key_set(self.fetch_jwk_set())
75+
try:
76+
return jwk_set.find_by_kid(header.get('kid'))
77+
except ValueError:
78+
# re-try with new jwk set
79+
jwk_set = JsonWebKey.import_key_set(self.fetch_jwk_set(force=True))
80+
return jwk_set.find_by_kid(header.get('kid'))
81+
82+
return load_key

0 commit comments

Comments
 (0)