
    )Jff	                     f    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d	S )
    )reverse)get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView)build_absolute_uric                        e Zd ZdZ fdZed             Zed             Zed             Zed             Z	ed             Z
d Zd	 Z xZS )
OpenIDConnectAdapterTc                 X    || _         t                                          |           d S N)provider_idsuper__init__)selfrequestr   	__class__s      w/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/openid_connect/views.pyr   zOpenIDConnectAdapter.__init__   s)    &!!!!!    c                 "   t          | d          sy|                                 j        }t                                                                          |          }|                                 |                                | _        | j        S )N_openid_config)	hasattrget_provider
server_urlr   get_requests_sessiongetraise_for_statusjsonr   )r   r   resps      r   openid_configz"OpenIDConnectAdapter.openid_config   sw    t-.. 	.**,,7J==5577;;JGGD!!###"&))++D""r   c                     |                                  j        j                            d          }|r|dk    S d| 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OpenIDConnectAdapter.basic_auth   sd     --//3<@@ATUU 	>$(===$(:(>(>3R)
 )
 
 	
r   c                     | j         d         S )Ntoken_endpointr   r   s    r   access_token_urlz%OpenIDConnectAdapter.access_token_url%   s    !"233r   c                     | j         d         S )Nauthorization_endpointr)   r*   s    r   authorize_urlz"OpenIDConnectAdapter.authorize_url)   s    !":;;r   c                     | j         d         S )Nuserinfo_endpointr)   r*   s    r   profile_urlz OpenIDConnectAdapter.profile_url-   s    !"566r   c                 :   t                                                                          | j        ddt	          |          z   i          }|                                 |                                }|                                                     ||          S )NAuthorizationzBearer )headers)	r   r   r   r1   strr   r   r   sociallogin_from_response)r   r   r$   tokenresponse
extra_datas         r   complete_loginz#OpenIDConnectAdapter.complete_login1   s    MM!!##S!OYU=S+TSUU 	
 	!!###]]__
  ""<<WjQQQr   c                 b    t          dd| j        i          }| j        }t          |||          S )Nopenid_connect_callbackr   )kwargs)r   r   redirect_uri_protocolr   )r   r   r$   callback_urlprotocols        r   get_callback_urlz%OpenIDConnectAdapter.get_callback_url;   s?    %}d>N.O
 
 
 -!'<BBBr   )__name__
__module____qualname__supports_stater   propertyr   r&   r+   r.   r1   r:   rA   __classcell__)r   s   @r   r
   r
      s        N" " " " " # # X# 
 
 X
 4 4 X4 < < X< 7 7 X7R R RC C C C C C Cr   r
   c                 \    t          j        t          | |                    } ||           S r   )r   adapter_viewr
   r   r   views      r   loginrL   C   s+    '(<Wk(R(RSSD4==r   c                 \    t          j        t          | |                    } ||           S r   )r   rI   r
   rJ   s      r   callbackrN   H   s+    *+?+U+UVVD4==r   N)django.urlsr   allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   allauth.utilsr   r
   rL   rN    r   r   <module>rT      s          5 5 5 5 5 5         
 - , , , , ,4C 4C 4C 4C 4C= 4C 4C 4Cn  
    r   