
    '[f(                     |    d dl mZ d dlmZ d dlmZ ddlmZ ddlm	Z	  G d de          Z
 G d	 d
ee          ZdS )    )Session)AssertionClient)JWTBearerGrant   )
OAuth2Auth)update_session_configurec                       e Zd Zd ZdS )AssertionAuthc                     | j         r | j                                         r | j        r| j                                        S d S d S )N)token
is_expiredclientrefresh_token)selfs    j/var/www/piapp/venv/lib/python3.11/site-packages/authlib/integrations/requests_client/assertion_session.pyensure_active_tokenz!AssertionAuth.ensure_active_token	   sR    z 	/TZ2244 	/ 	/;,,...	/ 	/ 	/ 	/    N)__name__
__module____qualname__r    r   r   r
   r
      s#        / / / / /r   r
   c                   X     e Zd ZdZeZej        Zeej	        iZ
eZ	 	 ddZd fd	Z xZS )	AssertionSessionzConstructs a new Assertion Framework for OAuth 2.0 Authorization Grants
    per RFC7521_.

    .. _RFC7521: https://tools.ietf.org/html/rfc7521
    Nheaderc
                     t          j        |            |	| _        t          | |
           t	          j        | f| ||||||||d	|
 d S )N)	sessiontoken_endpointissuersubjectaudience
grant_typeclaimstoken_placementscope)r   __init__default_timeoutr   r   )r   r   r   r   r    r!   r"   r#   r$   r&   kwargss              r   r%   zAssertionSession.__init__   sx    . v... 	
)&'*V+5		
 	
 =C		
 	
 	
 	
 	
r   Fc                     | j         r|                    d| j                    |s	|| j        } t                      j        ||fd|i|S )z-Send request with auto refresh token feature.timeoutNauth)r&   
setdefault
token_authsuperrequest)r   methodurlwithhold_tokenr*   r'   	__class__s         r   r.   zAssertionSession.request'   sn     	?i)=>>> 	#$,?DuwwC. .".&,. . 	.r   )NNNr   NN)FN)r   r   r   __doc__r
   token_auth_classr   
GRANT_TYPEJWT_BEARER_GRANT_TYPEsignASSERTION_METHODSDEFAULT_GRANT_TYPEr%   r.   __classcell__)r2   s   @r   r   r      s         
 %*5~2 /RVTX

 

 

 

. . . . . . . . . .r   r   N)requestsr   authlib.oauth2.rfc7521r   authlib.oauth2.rfc7523r   oauth2_sessionr   utilsr   r
   r   r   r   r   <module>r@      s          2 2 2 2 2 2 1 1 1 1 1 1 & & & & & & + + + + + +/ / / / /J / / / .  .  .  .  .  .  .  .  .  .r   