
    f	                     j    d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZ  G d de      Zd Zd	 Zy
)    )reverse)get_adapter)SocialToken)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView)build_absolute_uric                        e Zd Z fdZed        Zed        Zed        Zed        Zed        Z	de
fdZd	 Z xZS )
OpenIDConnectOAuth2Adapterc                 2    || _         t        | 	  |       y N)provider_idsuper__init__)selfrequestr   	__class__s      o/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/openid_connect/views.pyr   z#OpenIDConnectOAuth2Adapter.__init__   s    &!    c                     t        | d      sf| j                         j                  }t               j	                         j                  |      }|j                          |j                         | _        | j                  S )N_openid_config)	hasattrget_provider
server_urlr   get_requests_sessiongetraise_for_statusjsonr   )r   r   resps      r   openid_configz(OpenIDConnectOAuth2Adapter.openid_config   sb    t-.**,77J=557;;JGD!!#"&))+D"""r   c                     | j                         j                  j                  j                  d      }|r|dk(  S d| j                  j                  dg       v S )Ntoken_auth_methodclient_secret_basic%token_endpoint_auth_methods_supported)r   appsettingsr   r    )r   r"   s     r   
basic_authz%OpenIDConnectOAuth2Adapter.basic_auth   s]     --/33<<@@ATU$(===$(:(:(>(>3R)
 
 	
r   c                      | j                   d   S )Ntoken_endpointr    r   s    r   access_token_urlz+OpenIDConnectOAuth2Adapter.access_token_url$   s    !!"233r   c                      | j                   d   S )Nauthorization_endpointr*   r+   s    r   authorize_urlz(OpenIDConnectOAuth2Adapter.authorize_url(   s    !!":;;r   c                      | j                   d   S )Nuserinfo_endpointr*   r+   s    r   profile_urlz&OpenIDConnectOAuth2Adapter.profile_url,   s    !!"566r   tokenc                    t               j                         j                  | j                  dd|j                  z   i      }|j                          |j                         }| j                         j                  ||      S )NAuthorizationzBearer )headers)	r   r   r   r2   r3   r   r   r   sociallogin_from_response)r   r   r%   r3   kwargsresponse
extra_datas          r   complete_loginz)OpenIDConnectOAuth2Adapter.complete_login0   sl    M!!#S!!OY=T+USV 	
 	!!#]]_
  "<<WjQQr   c                 f    t        dd| j                  i      }| j                  }t        |||      S )Nopenid_connect_callbackr   )r8   )r   r   redirect_uri_protocolr	   )r   r   r%   callback_urlprotocols        r   get_callback_urlz+OpenIDConnectOAuth2Adapter.get_callback_url:   s8    %}d>N>N.O
 --!'<BBr   )__name__
__module____qualname__r   propertyr    r'   r,   r/   r2   r   r;   rA   __classcell__)r   s   @r   r   r      s    " # # 
 
 4 4 < < 7 7R+ RCr   r   c                 P    t        j                  t        | |            } ||       S r   )r   adapter_viewr   r   r   views      r   loginrK   B   s(    ''"7K8D =r   c                 P    t        j                  t        | |            } ||       S r   )r   rH   r   rI   s      r   callbackrM   I   s(    **"7K8D =r   N)django.urlsr   allauth.socialaccount.adapterr   allauth.socialaccount.modelsr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   allauth.utilsr	   r   rK   rM    r   r   <module>rT      s6     5 4 
 -2C 2Cjr   