
    [j
                     8    d dl Z ddlmZ dZ G d d          ZdS )    N   )ConfigExceptionrefresh_tokenc                   P    e Zd Zd
dZd Zd Zd Zd Zd Zd Z	e
d	             ZdS )OpenIDRequestorNc                 L    || _         || _        || _        || _        d| _        dS )z}OpenIDRequestor implements a very limited subset of the oauth2 APIs that we
        require in order to refresh access tokensN)
_client_id_client_secret_issuer_url_ssl_ca_cert_well_known)self	client_idclient_secret
issuer_urlssl_ca_certs        ]/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/kubernetes_asyncio/config/openid.py__init__zOpenIDRequestor.__init__
   s1     $+%'    c                 F    t          j        | j        d u| j                  S )N)
verify_sslssl_context)aiohttpTCPConnectorr   r   s    r   _get_connectorzOpenIDRequestor._get_connector   s-    #(4)
 
 
 	
r   c                     t          j        | j        |                                 t          j        | j        | j                  dd          S )NT)headers	connectorauthraise_for_status	trust_env)r   ClientSession_default_headersr   	BasicAuthr	   r
   r   s    r   _client_sessionzOpenIDRequestor._client_session   sL    $)))++"4?D4GHH!
 
 
 	
r   c                 \  K   |                                  4 d{V }|                     |           d{V }	 |                     ||d         t          |d           d{V 	 cddd          d{V  S # t          j        $ r t          d          w xY w# 1 d{V swxY w Y   dS )z]
        :param refresh_token: an openid refresh-token from a previous token request
        Ntoken_endpoint)
grant_typer   )dataz$oidc: failed to refresh access token)r&   _get_well_known_postGRANT_TYPE_REFRESH_TOKENr   ClientResponseErrorr   )r   r   client
well_knowns       r   r   zOpenIDRequestor.refresh_token#   s      '')) 	N 	N 	N 	N 	N 	N 	NV#33F;;;;;;;;J
N!ZZ/0&>)6  (         		N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N . N N N%&LMMMN	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	N 	Ns"   B+A99BB
B%(B%c                    K    |j         |i |4 d {V }|                                 d {V cd d d           d {V  S # 1 d {V swxY w Y   d S N)getjsonr   r/   argskwargsresps        r   _getzOpenIDRequestor._get6   s      6:t.v.. 	% 	% 	% 	% 	% 	% 	%$$$$$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%   A
AAc                    K    |j         |i |4 d {V }|                                 d {V cd d d           d {V  S # 1 d {V swxY w Y   d S r2   )postr4   r5   s        r   r,   zOpenIDRequestor._post:   s      6;/// 	% 	% 	% 	% 	% 	% 	%4$$$$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%r:   c                   K   | j         p	 |                     |d                    | j                            d                               d {V | _         n"# t
          j        $ r t          d          w xY w| j         S )Nz#{}/.well-known/openid-configuration/z2oidc: failed to query well-known metadata endpoint)r   r9   formatr   rstripr   r.   r   )r   r/   s     r   r+   zOpenIDRequestor._get_well_known>   s      #\)-9@@AQAXAXY\A]A]^^* * $ $ $ $ $ $   . \ \ \%&Z[[[\ s   AA A7c                     dddS )Nzapplication/jsonz/application/x-www-form-urlencoded;charset=UTF-8)AcceptzContent-Type r   s    r   r$   z OpenIDRequestor._default_headersJ   s     )M
 
 	
r   r2   )__name__
__module____qualname__r   r   r&   r   r9   r,   r+   propertyr$   rC   r   r   r   r      s               
 
 

 
 
N N N&% % %% % %
  
  
  
 
 X
 
 
r   r   )r   config_exceptionr   r-   r   rC   r   r   <module>rI      sb     - - - - - -* G
 G
 G
 G
 G
 G
 G
 G
 G
 G
r   