
    =fE                     :    d Z ddlmZmZmZ  G d de          ZdS )z
authlib.openid.connect.core.tokens
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This module contains methods for adding JWT tokens to requests.
    )	TokenBaseget_token_from_headerrandom_token_generatorc                   2    e Zd ZdZ	 	 ddZd	dZd Zd ZdS )
JWTToken)request_validatortoken_generatorrefresh_token_generator
expires_inNc                 ^    || _         |pt          | _        |p| j        | _        |pd| _        d S )Ni  )r   r   r	   r
   r   )selfr   r	   r   r
   s        r/home/panchajanya/Development/work/volatility3/lib/python3.11/site-packages/oauthlib/openid/connect/core/tokens.py__init__zJWTToken.__init__   s=    !2.H2H#;t'; 	$ %,    Fc                     t          | j                  r|                     |          }n| j        }||_        | j                            dd|          S )z2Create a JWT Token, using requestvalidator method.N)callabler   r   get_jwt_bearer_token)r   requestrefresh_tokenr   s       r   create_tokenzJWTToken.create_token   sS     DO$$ 	)11JJJ'%::4wOOOr   c                 b    t          |          }| j                            ||j        |          S )N)r   r   validate_jwt_bearer_tokenscopesr   r   tokens      r   validate_requestzJWTToken.validate_request'   s3    %g..%??7>7, , 	,r   c                     t          |          }|r.|                    d          r|                    d          dv rdS dS )Ney.)      
   r   )r   
startswithcountr   s      r   estimate_typezJWTToken.estimate_type,   sL    %g.. 	U%%d++ 	C0@0@F0J0J2qr   )NNNN)F)__name__
__module____qualname__	__slots__r   r   r   r%    r   r   r   r      so        I
 @D:>- - - -
P 
P 
P 
P, , ,
    r   r   N)__doc__oauthlib.oauth2.rfc6749.tokensr   r   r   r   r*   r   r   <module>r-      su             
$ $ $ $ $y $ $ $ $ $r   