Current File : //usr/lib/python3/dist-packages/oauthlib/openid/connect/core/__pycache__/tokens.cpython-312.pyc
�

�cE��2�dZddlmZmZmZGd�de�Zy)z�
authlib.openid.connect.core.tokens
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This module contains methods for adding JWT tokens to requests.
�)�	TokenBase�get_token_from_header�random_token_generatorc�0�eZdZdZ		dd�Zdd�Zd�Zd�Zy)	�JWTToken)�request_validator�token_generator�refresh_token_generator�
expires_inNc�p�||_|xst|_|xs|j|_|xsd|_y)Ni)rrr	r
r)�selfrr	rr
s     �E/usr/lib/python3/dist-packages/oauthlib/openid/connect/core/tokens.py�__init__zJWTToken.__init__s<��!2���.�H�2H���#�;�t�';�';�	
�$�%�,����c��t|j�r|j|�}n|j}||_|jjdd|�S)z2Create a JWT Token, using requestvalidator method.N)�callablerr�get_jwt_bearer_token)r
�request�
refresh_tokenrs    r�create_tokenzJWTToken.create_tokensJ���D�O�O�$�����1�J����J�'����%�%�:�:�4��w�O�Orc�f�t|�}|jj||j|�S)N)rr�validate_jwt_bearer_token�scopes�r
r�tokens   r�validate_requestzJWTToken.validate_request's0��%�g�.���%�%�?�?��7�>�>�7�,�	,rc�h�t|�}|r%|jd�r|jd�dvryy)N�ey�.)���
r)r�
startswith�countrs   r�
estimate_typezJWTToken.estimate_type,s2��%�g�.���U�%�%�d�+����C�0@�F�0J��r)NNNN)F)�__name__�
__module__�__qualname__�	__slots__rrrr%�rrrrs(���I�
@D�:>�-�
P�,�
rrN)�__doc__�oauthlib.oauth2.rfc6749.tokensrrrrr*rr�<module>r-s �����
$�y�$r