
    )Jf?                         d dl mZ d dlZd dlmZ 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 d
 Z G d de          Z ej        e          Z ej        e          ZdS )    )unicode_literalsN)context)app_settings)get_adapter)OAuth2Error)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )MicrosoftGraphProviderc                 ^   	 |                                  }n?# t           j        j        $ r( t          d                    | j                            w xY wd|vrSd}|                    di                               d          }|rd                    ||f          }t          |          |S )Nz)Invalid JSON from Microsoft Graph API: {}idz"Error retrieving Microsoft profileerrormessagez: )jsondecoderJSONDecodeErrorr   formattextgetjoin)responsedataerror_messagemicrosoft_error_messages       r/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/microsoft/views.py_check_errorsr      s    
}}<' 
 
 
7>>x}MM
 
 	


 4<"&((7B"7"7";";I"F"F" 	P II}6M&NOOM-(((Ks	    <Ac                       e Zd Zej        Zd Zed             Zed             Z	dZ
dZdd                    e          iZd Zd	S )
MicrosoftGraphOAuth2Adapterc                 H   t           j                            | j        i           }|                    d|                    dd                    }t	                                          t          j        | j                  }|j                            d|          }d| | S )NTENANTtenantcommon)providerz"https://login.microsoftonline.com/)	r   	PROVIDERSr   provider_idr   get_appr   requestsettings)selfpathr)   r"   apps        r   _build_tenant_urlz-MicrosoftGraphOAuth2Adapter._build_tenant_url'   s    )--d.>CChXx(H(HIImm##GOd>N#OO!!(F33BFBDBBB    c                 ,    |                      d          S )Nz/oauth2/v2.0/tokenr-   r*   s    r   access_token_urlz,MicrosoftGraphOAuth2Adapter.access_token_url0   s    %%&:;;;r.   c                 ,    |                      d          S )Nz/oauth2/v2.0/authorizer0   r1   s    r   authorize_urlz)MicrosoftGraphOAuth2Adapter.authorize_url4   s    %%&>???r.   z#https://graph.microsoft.com/v1.0/me)businessPhonesdisplayName	givenNamer   jobTitlemailmobilePhoneofficeLocationpreferredLanguagesurnameuserPrincipalNamemailNicknamecompanyNamez$select,c                 (   dd                     |j                  i}t                                                                          | j        | j        |          }t          |          }|                                 	                    ||          S )NAuthorizationz
Bearer {0})paramsheaders)
r   tokenr   get_requests_sessionr   profile_urlprofile_url_paramsr   get_providersociallogin_from_response)r*   r(   r,   rF   kwargsrE   r   
extra_datas           r   complete_loginz*MicrosoftGraphOAuth2Adapter.complete_loginK   s    "L$7$7$D$DEMM!!##S .    	 #8,,
  ""<<WjQQQr.   N)__name__
__module____qualname__r   r   r&   r-   propertyr2   r4   rH   user_propertiesr   rI   rN    r.   r   r   r   $   s        (+KC C C < < X< @ @ X@ 8KO $SXXo%>%>?R R R R Rr.   r   )
__future__r   r   allauth.corer   allauth.socialaccountr   allauth.socialaccount.adapterr   -allauth.socialaccount.providers.oauth2.clientr   ,allauth.socialaccount.providers.oauth2.viewsr   r	   r
   r$   r   r   r   adapter_viewoauth2_loginoauth2_callbackrT   r.   r   <module>r^      s   ' ' ' ' ' '              . . . . . . 5 5 5 5 5 5 E E E E E E          - , , , , ,  $3R 3R 3R 3R 3R- 3R 3R 3Rl ,+,GHH1$12MNNr.   