
    k7i                         S SK r 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	K
Jr  SS
KJr  S/r " S S\\ R                  5      r " S S\\ R"                  5      rg)    N)USE_CLIENT_DEFAULT)Response)AssertionClient)JWTBearerGrant   )
OAuthError   )
OAuth2Auth)extract_client_kwargsAsyncAssertionClientc                      ^  \ rS rSr\r\r\R                  r
\
\R                  0r\
r     SS jrS\4S\4U 4S jjjrS rSrU =r$ )	r      c	                     [        U	5      n
[        R                  R                  " U 40 U
D6  [        R                  " U 4S 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scope)r   httpxAsyncClient__init___AssertionClient)selfr   r   r   r   r   r   r   r   kwargsclient_kwargss              l/home/james-whalen/.local/lib/python3.13/site-packages/authlib/integrations/httpx_client/assertion_client.pyr   AsyncAssertionClient.__init__   sb     .f5""49=9!!	
)!+	
 	
    Freturnc                   >#    U(       d]  U[         L aT  U R                  (       a  U R                  R                  5       (       a  U R                  5       I Sh  vN   U R                  n[
        TU ]  " X4SU0UD6I Sh  vN $  N+ N7f)-Send request with auto refresh token feature.Nauthr   token
is_expiredrefresh_token
token_authsuperrequestr   methodurlwithhold_tokenr'   r   	__class__s         r!   r.   AsyncAssertionClient.request5   sn      $*<"<::!6!6!8!8((***??DW_VFtFvFFF + Gs$   ABB&B>B?BBc                 x   #    U R                  SU R                  USS9I S h  vN nU R                  U5      $  N7f)NPOSTT)datar2   )r.   r   parse_response_token)r   r7   resps      r!   _refresh_token#AsyncAssertionClient._refresh_token@   sD     \\D''d4 " 
 
 ((..	
s    :8: NNNheaderN)__name__
__module____qualname____firstlineno__r
   token_auth_classr   oauth_error_classr   
GRANT_TYPEJWT_BEARER_GRANT_TYPEsignASSERTION_METHODSDEFAULT_GRANT_TYPEr   r   r   r.   r:   __static_attributes____classcell__r3   s   @r!   r   r      ss    !"*55~22 /  
< +06H	G		G 	G/ /r#   c                      ^  \ rS rSr\r\r\R                  r
\
\R                  0r\
r     SS jrS\4U 4S jjrSrU =r$ )r   H   c	                     [        U	5      n
U
R                  SS 5      nUb  [        R                  " US9U
S'   [        R                  R
                  " U 40 U
D6  [        R
                  " U 4U UUUUUUUUS.	U	D6  g )Napp)rP   	transportr   )r   popr   WSGITransportClientr   r   )r   r   r   r   r   r   r   r   r   r   r    	app_values               r!   r   AssertionClient.__init__Q   s     .f5!%%eT2	 ).)<)<)KM+&d4m4!!	
)!+	
 	
r#   Fc                    > U(       dU  U[         L aL  U R                  (       a  U R                  R                  5       (       a  U R                  5         U R                  n[
        TU ]  " X4SU0UD6$ )r&   r'   r(   r/   s         r!   r.   AssertionClient.requests   sW     $*<"<::!6!6!8!8""$??Dwv@@@@r#   r<   r=   )r?   r@   rA   rB   r
   rC   r   rD   r   rE   rF   rG   rH   rI   r   r   r.   rJ   rK   rL   s   @r!   r   r   H   sa    !"*55~22 /   
F +06H	A 	Ar#   r   )r   r   r   authlib.oauth2.rfc7521r   r   authlib.oauth2.rfc7523r   base_clientr   oauth2_clientr
   utilsr   __all__r   r   rT   r<   r#   r!   <module>r_      sP     $  F 1 $ % (!
"6/+U->-> 6/r4A& 4Ar#   