o
    ˷e                     @   sN   d dl mZ d dlmZ d dlmZ G dd deZG dd deZegZdS )	    )unicode_literals)ProviderAccount)OAuth2Providerc                       s$   e Zd Zdd Z fddZ  ZS )AzureAccountc                 C   s   | j jd S )Nemail)account
extra_dataself r   e/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/azure/provider.pyget_username      zAzureAccount.get_usernamec                    sB   d | jjdd| jjdd}| dkr|S tt|  S )Nz{0} {1}
first_name 	last_name)formatr   r   getstripsuperr   to_str)r
   name	__class__r   r   r      s   zAzureAccount.to_str)__name__
__module____qualname__r   r   __classcell__r   r   r   r   r      s    r   c                   @   s4   e Zd ZedZdZeZdd Zdd Z	dd Z
d	S )
AzureProviderazureAzurec                 C   s   ddgS )z
        Doc on scopes available at
        https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-scopes  # noqa
        z	User.Readopenidr   r	   r   r   r   get_default_scope   s   zAzureProvider.get_default_scopec                 C   s   t |d S )Nid)str)r
   datar   r   r   extract_uid%   r   zAzureProvider.extract_uidc                 C   s<   | d}|sd|v r| d}t||| d| ddS )NmailuserPrincipalNamesurname	givenName)r   usernamer   r   )r   dict)r
   r%   r   r   r   r   extract_common_fields(   s   

z#AzureProvider.extract_common_fieldsN)r   r   r   r$   r#   r   r   account_classr"   r&   r-   r   r   r   r   r      s    r   N)	
__future__r   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   r   r   provider_classesr   r   r   r   <module>   s    
