Viewing File: /opt/alt/python38/lib/python3.8/site-packages/jwt/__pycache__/jwks_client.cpython-38.pyc

U

E`@sfddlZddlZddlmZddlmZmZddlm	Z	m
Z
ddlmZ
ddlmZGdd	d	ZdS)
N)	lru_cache)AnyList)PyJWKPyJWKSet)decode_complete)PyJWKClientErrorc@sneZdZdeeedddZedddZe	dd	d
Z
eedddZ
eed
ddZeedddZdS)PyJWKClientT)uri
cache_keysmax_cached_keyscCs ||_|rt|d|j|_dS)N)maxsize)rrget_signing_key)selfrr
rr@/opt/alt/python38/lib/python3.8/site-packages/jwt/jwks_client.py__init__szPyJWKClient.__init__)returnc
Cs0tj|j}t|W5QRSQRXdSN)urllibZrequestZurlopenrjsonload)rZresponserrr
fetch_dataszPyJWKClient.fetch_datacCs|}t|Sr)rrZ	from_dict)rdatarrrget_jwk_setszPyJWKClient.get_jwk_setcCsJ|}g}|jD]}|jdkr|jr||qt|dkrFtd|S)NZsigrz2The JWKS endpoint did not contain any signing keys)rkeysZpublic_key_usekey_idappendlenr	)rZjwk_setsigning_keysZjwk_set_keyrrrget_signing_keyss
zPyJWKClient.get_signing_keys)kidrcCs@|}d}|D]}|j|kr|}q(q|s<td|d|S)Nz,Unable to find a signing key that matches: "")r"rr	)rr#r!Zsigning_keykeyrrrr(s

zPyJWKClient.get_signing_key)tokenrcCs(t|ddid}|d}||dS)NZverify_signatureF)Zoptionsheaderr#)decode_tokenrget)rr&Z
unverifiedr'rrrget_signing_key_from_jwt8sz$PyJWKClient.get_signing_key_from_jwtN)Tr)__name__
__module____qualname__strboolintrrrrrrrr"rr*rrrrr
s
r
)rZurllib.requestr	functoolsrtypingrrZapi_jwkrrZapi_jwtrr(
exceptionsr	r
rrrr<module>s
Back to Directory File Manager