File: //lib/python3/dist-packages/oauthlib/openid/connect/core/__pycache__/tokens.cpython-310.pyc
o
���a< � @ s, d Z ddlmZmZmZ G dd� de�ZdS )z�
authlib.openid.connect.core.tokens
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This module contains methods for adding JWT tokens to requests.
� )� TokenBase�random_token_generator�get_token_from_headerc @ s8 e Zd ZdZ ddd�Zd
dd�Zdd � Zd
d� ZdS )�JWTToken)�request_validator�token_generator�refresh_token_generator�
expires_inNc C s* || _ |pt| _|p| j| _|pd| _d S )Ni )r r r r r )�selfr r r r � r �E/usr/lib/python3/dist-packages/oauthlib/openid/connect/core/tokens.py�__init__ s
�zJWTToken.__init__Fc C s2 t | j�r| �|�}n| j}||_| j�dd|�S )z2Create a JWT Token, using requestvalidator method.N)�callabler r �get_jwt_bearer_token)r
�request�
refresh_tokenr r r r �create_token s
zJWTToken.create_tokenc C s t |�}| j�||j|�S )N)r r �validate_jwt_bearer_token�scopes�r
r �tokenr r r �validate_request% s �zJWTToken.validate_requestc C s, t |�}|r|�d�r|�d�dv rdS dS )N�ey�.)� � �
r )r �
startswith�countr r r r �
estimate_type* s zJWTToken.estimate_type)NNNN)F)�__name__�
__module__�__qualname__� __slots__r
r r r r r r r r
s
�
r N)�__doc__�oauthlib.oauth2.rfc6749.tokensr r r r r r r r �<module> s