
    f                     ^    d dl mZmZ d dlmZ d dlmZ  G d de      Z G d de      ZegZ	y)	    )
AuthActionProviderAccount)MicrosoftGraphOAuth2Adapter)OAuth2Providerc                       e Zd Zd Zy)MicrosoftGraphAccountc                 L    | j                   j                  j                  d      S )Nphoto)account
extra_datagetselfs    m/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/microsoft/provider.pyget_avatar_urlz$MicrosoftGraphAccount.get_avatar_url	   s    ||&&**733    N)__name__
__module____qualname__r    r   r   r   r      s    4r   r   c                   @     e Zd ZdZdZeZeZd Z	 fdZ
d Zd Z xZS )MicrosoftGraphProvider	microsoft	Microsoftc                     dgS )z
        Docs on Scopes and Permissions:
        https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#scopes-and-permissions
        z	User.Readr   r   s    r   get_default_scopez(MicrosoftGraphProvider.get_default_scope   s    
 }r   c                 X    t         |   ||      }|t        j                  k(  rd|d<   |S )Nselect_accountprompt)superget_auth_params_from_requestr   REAUTHENTICATE)r   requestactionret	__class__s       r   r!   z3MicrosoftGraphProvider.get_auth_params_from_request   s0    g27FCZ...,CM
r   c                     t        |d         S )Nid)strr   datas     r   extract_uidz"MicrosoftGraphProvider.extract_uid    s    4:r   c                     t        |j                  d      xs |j                  d      |j                  d      |j                  d      |j                  d            S )NmailuserPrincipalNamemailNicknamesurname	givenName)emailusername	last_name
first_name)dictr   r*   s     r   extract_common_fieldsz,MicrosoftGraphProvider.extract_common_fields#   sN    ((6"Cdhh/B&CXXn-hhy)xx,	
 	
r   )r   r   r   r(   namer   account_classr   oauth2_adapter_classr   r!   r,   r8   __classcell__)r&   s   @r   r   r      s,    	BD)M6
r   r   N)
$allauth.socialaccount.providers.baser   r   /allauth.socialaccount.providers.microsoft.viewsr   /allauth.socialaccount.providers.oauth2.providerr   r   r   provider_classesr   r   r   <module>rA      s6    L K4O 4

^ 
> ++ r   