
    k7i                     n    S SK Jr  S SKJr  S SKJr  SSKJr  SSKJ	r	   " S S\5      r
 " S	 S
\\5      rg)    )Session)AssertionClient)JWTBearerGrant   )
OAuth2Auth)update_session_configurec                       \ rS rSrS rSrg)AssertionAuth
   c                     U R                   (       a`  U R                  (       a4  U R                  R                  U R                   R                  5      (       a  U R                   R	                  5       $ g g )N)clienttoken
is_expiredleewayrefresh_token)selfs    p/home/james-whalen/.local/lib/python3.13/site-packages/authlib/integrations/requests_client/assertion_session.pyensure_active_token!AssertionAuth.ensure_active_token   sL    ;;

djj33DKK4F4FGG;;,,.. H      N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r
   r
   
   s    /r   r
   c                      ^  \ rS rSrSr\r\R                  r	\	\R                  0r\	r       SS jrSU 4S jjrSrU =r$ )AssertionSession   zConstructs a new Assertion Framework for OAuth 2.0 Authorization Grants
per RFC7521_.

.. _RFC7521: https://tools.ietf.org/html/rfc7521
c                     [         R                  " U 5        Xl        [        X5        [        R                  " U 4U UUUUUUUUU
S.
UD6  g )N)
sessiontoken_endpointissuersubjectaudience
grant_typeclaimstoken_placementscoper   )r   __init__default_timeoutr   r   )r   r"   r#   r$   r%   r&   r'   r(   r)   r+   r   kwargss               r   r*   AssertionSession.__init__    s^     	. .  	
)!+	
 	
r   c                    > U R                   (       a  UR                  SU R                   5        U(       d  Uc  U R                  n[        TU ]  " X4SU0UD6$ )z-Send request with auto refresh token feature.timeoutauth)r+   
setdefault
token_authsuperrequest)r   methodurlwithhold_tokenr0   r,   	__class__s         r   r4   AssertionSession.request@   sK    i)=)=>$,??Dwv@@@@r   )r+   )NNNheaderNN<   )FN)r   r   r   r   __doc__r
   token_auth_classr   
GRANT_TYPEJWT_BEARER_GRANT_TYPEsignASSERTION_METHODSDEFAULT_GRANT_TYPEr*   r4   r   __classcell__)r8   s   @r   r   r      s`     %*55~22 /  
@A Ar   r   N)requestsr   authlib.oauth2.rfc7521r   authlib.oauth2.rfc7523r   oauth2_sessionr   utilsr   r
   r   r   r   r   <module>rI      s0     2 1 & +/J /4A 4Ar   