
    Tњh                         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
JrJr  S r " S S	\
5      r\R                  " \5      r\R                  " \5      rg)
    N)context)app_settings)get_adapter)OAuth2Error)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                 N    U R                  5       nSU;  aG  SnUR                  S0 5      R                  S5      nU(       a  SR                  X#45      n[        U5      eU$ ! [         R                  R                   a%    [        SR	                  U R
                  5      5      ef = f)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       jD:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/socialaccount/providers/microsoft/views.py_check_errorsr      s    
}} 4<"&((7B"7";";I"F" II}&NOM-((K <<'' 
7>>x}}M
 	

s   A! !AB$c                   ~    \ rS rSrSrS r\S 5       r\S 5       r\S 5       r	Sr
SS	R                  \
5      0rS
 rSrg)MicrosoftGraphOAuth2Adapter    	microsoftc                 |   [         R                  R                  U R                  0 5      nUR                  SUR                  SS5      5      n[	        5       R                  [        R                  U R                  S9nUR                  R                  SU5      nUR                  R                  SS5      nU SU U 3$ )NTENANTtenantcommonprovider	login_urlz!https://login.microsoftonline.com/)	r   	PROVIDERSr   provider_idr   get_appr   requestsettings)selfpathr+   r!   appr%   s         r   _build_tenant_url-MicrosoftGraphOAuth2Adapter._build_tenant_url#   s    ))--d.>.>ChXx(HIm##GOOd>N>N#O!!(F3LL$$[2UV	AfXdV,,    c                 $    U R                  S5      $ )Nz/oauth2/v2.0/tokenr/   r,   s    r   access_token_url,MicrosoftGraphOAuth2Adapter.access_token_url-   s    %%&:;;r1   c                 $    U R                  S5      $ )Nz/oauth2/v2.0/authorizer3   r4   s    r   authorize_url)MicrosoftGraphOAuth2Adapter.authorize_url1   s    %%&>??r1   c                     [        5       R                  [        R                  U R                  S9nUR
                  R                  SS5      nU S3$ )Nr#   	graph_urlzhttps://graph.microsoft.comz/v1.0/me)r   r)   r   r*   r(   r+   r   )r,   r.   r;   s      r   profile_url'MicrosoftGraphOAuth2Adapter.profile_url5   sG    m##GOOd>N>N#OLL$$[2OP	H%%r1   )businessPhonesdisplayName	givenNamer   jobTitlemailmobilePhoneofficeLocationpreferredLanguagesurnameuserPrincipalNamemailNicknamecompanyNamez$select,c                    SSR                  UR                  5      0n[        5       R                  5       R	                  U R
                  U R                  US9n[        U5      nU R                  5       R                  X5      $ )NAuthorizationz
Bearer {0})paramsheaders)
r   tokenr   get_requests_sessionr   r<   profile_url_paramsr   get_providersociallogin_from_response)r,   r*   r.   rO   kwargsrN   r   
extra_datas           r   complete_login*MicrosoftGraphOAuth2Adapter.complete_loginL   sx    "L$7$7$DEM!!#S  ..   	 #8,
  "<<WQQr1    N)__name__
__module____qualname____firstlineno__r(   r/   propertyr5   r8   r<   user_propertiesr   rQ   rV   __static_attributes__rX   r1   r   r   r       sm    K- < < @ @ & &
O $SXXo%>?Rr1   r   )r   allauth.corer   allauth.socialaccountr   allauth.socialaccount.adapterr   -allauth.socialaccount.providers.oauth2.clientr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r	   r   r   adapter_viewoauth2_loginoauth2_callbackrX   r1   r   <module>rh      sV       . 5 E $8R- 8Rv ++,GH$112MNr1   