
    g                     j    d dl mZ 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	)
    )app_settings)ProviderAccountProviderException)GlobusOAuth2Adapter)OAuth2Providerc                       e Zd Zd Zd Zy)GlobusAccountc                 N    | j                   j                  j                  dd      S )Nweb_urldfltaccount
extra_datagetselfs    l/var/www/django_project/virt/lib/python3.12/site-packages/allauth/socialaccount/providers/globus/provider.pyget_profile_urlzGlobusAccount.get_profile_url   s    ||&&**9f==    c                 N    | j                   j                  j                  dd      S )N
avatar_urlr   r   r   s    r   get_avatar_urlzGlobusAccount.get_avatar_url   s    ||&&**<@@r   N)__name__
__module____qualname__r   r    r   r   r	   r	   
   s    >Ar   r	   c                   .    e Zd ZdZdZeZeZd Z	d Z
d Zy)GlobusProviderglobusGlobusc                 >    d|vrt        d|      t        |d         S )NsubzGlobus OAuth error)r   strr   datas     r   extract_uidzGlobusProvider.extract_uid   s'    #$8$??4;r   c                 x    t        |j                  d      |j                  d      |j                  d            S )Nemailpreferred_usernamename)r(   usernamer*   )dictr   r$   s     r   extract_common_fieldsz$GlobusProvider.extract_common_fields   s4    ((7#XX23&!
 	
r   c                 P    g d}t         j                  r|j                  d       |S )N)openidprofileoffline_accessr(   )r   QUERY_EMAILappend)r   scopes     r   get_default_scopez GlobusProvider.get_default_scope$   s!    7##LL!r   N)r   r   r   idr*   r	   account_classr   oauth2_adapter_classr&   r-   r5   r   r   r   r   r      s&    	BD!M. 

r   r   N)allauth.socialaccountr   $allauth.socialaccount.providers.baser   r   ,allauth.socialaccount.providers.globus.viewsr   /allauth.socialaccount.providers.oauth2.providerr   r	   r   provider_classesr   r   r   <module>r>      s;    . M JAO A^ 2 ## r   