HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/jwt/__pycache__/jwks_client.cpython-310.pyc
o

\|]az�@sfddlZddlZddlmZddlmZmZddlm	Z	m
Z
ddlmZ
ddlmZGdd	�d	�ZdS)
�N)�	lru_cache)�Any�List�)�PyJWK�PyJWKSet)�decode_complete)�PyJWKClientErrorc@sveZdZddededefdd�Zdefd	d
�Zde	fdd�Z
deefd
d�Z
dedefdd�Zdedefdd�ZdS)�PyJWKClientT��uri�
cache_keys�max_cached_keyscCs$||_|rt|d�|j�|_dSdS)N)�maxsize)rr�get_signing_key)�selfrr
r�r�1/usr/lib/python3/dist-packages/jwt/jwks_client.py�__init__s�zPyJWKClient.__init__�returncCs<tj�|j��
}t�|�Wd�S1swYdS�N)�urllib�request�urlopenr�json�load)r�responserrr�
fetch_datas$�zPyJWKClient.fetch_datacCs|��}t�|�Sr)rr�	from_dict)r�datarrr�get_jwk_sets
zPyJWKClient.get_jwk_setcCs(|��}dd�|jD�}|std��|S)NcSs g|]}|jdvr|jr|�qS))�sigN)�public_key_use�key_id)�.0�jwk_set_keyrrr�
<listcomp>s
�z0PyJWKClient.get_signing_keys.<locals>.<listcomp>z2The JWKS endpoint did not contain any signing keys)r �keysr	)r�jwk_set�signing_keysrrr�get_signing_keyss�zPyJWKClient.get_signing_keys�kidcCs@|��}d}|D]}|j|kr|}nq|std|�d���|S)Nz,Unable to find a signing key that matches: "�")r*r#r	)rr+r)�signing_key�keyrrrr(s
�
�zPyJWKClient.get_signing_key�tokencCs(t|ddid�}|d}|�|�d��S)N�verify_signatureF)�options�headerr+)�decode_tokenr�get)rr/�
unverifiedr2rrr�get_signing_key_from_jwt8sz$PyJWKClient.get_signing_key_from_jwtN)Tr)�__name__�
__module__�__qualname__�str�bool�intrrrrr rrr*rr6rrrrr
s
r
)r�urllib.requestr�	functoolsr�typingrr�api_jwkrr�api_jwtrr3�
exceptionsr	r
rrrr�<module>s