
    cE                     2    d Z ddlmZmZmZ  G d de      Zy)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    e Zd ZdZ	 	 ddZddZd Zd Zy)	JWTToken)request_validatortoken_generatorrefresh_token_generator
expires_inNc                 p    || _         |xs t        | _        |xs | j                  | _        |xs d| _        y )Ni  )r   r   r	   r
   r   )selfr   r	   r   r
   s        E/usr/lib/python3/dist-packages/oauthlib/openid/connect/core/tokens.py__init__zJWTToken.__init__   s<    !2.H2H#;t';'; 	$ %,    c                     t        | j                        r| j                  |      }n| j                  }||_        | 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   sJ     DOO$1JJ'%%::4wOOr   c                 f    t        |      }| j                  j                  ||j                  |      S )N)r   r   validate_jwt_bearer_tokenscopesr   r   tokens      r   validate_requestzJWTToken.validate_request'   s0    %g.%%??7>>7, 	,r   c                 h    t        |      }|r%|j                  d      r|j                  d      dv ryy)Ney.)      
   r   )r   
startswithcountr   s      r   estimate_typezJWTToken.estimate_type,   s2    %g.U%%d+C0@F0Jr   )NNNN)F)__name__
__module____qualname__	__slots__r   r   r   r%    r   r   r   r      s(    I
 @D:>-
P,
r   r   N)__doc__oauthlib.oauth2.rfc6749.tokensr   r   r   r   r*   r   r   <module>r-      s     
$y $r   