o
    &zh                     @   s^   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 deZ	G dd deZ
e
gZd	S )
    )app_settings)ProviderAccountProviderException)GlobusOAuth2Adapter)OAuth2Providerc                   @   s   e Zd Zdd Zdd ZdS )GlobusAccountc                 C      | j jddS )Nweb_urldfltaccount
extra_datagetself r   j/var/www/html/kangema/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/globus/provider.pyget_profile_url      zGlobusAccount.get_profile_urlc                 C   r   )N
avatar_urlr
   r   r   r   r   r   get_avatar_url   r   zGlobusAccount.get_avatar_urlN)__name__
__module____qualname__r   r   r   r   r   r   r      s    r   c                   @   s4   e Zd ZdZdZeZeZdd Z	dd Z
dd Zd	S )
GlobusProviderglobusGlobusc                 C   s   d|vr	t d|t|d S )NsubzGlobus OAuth error)r   strr   datar   r   r   extract_uid   s   
zGlobusProvider.extract_uidc                 C   s    t |d|d|ddS )Nemailpreferred_usernamename)r"   usernamer$   )dictr   r   r   r   r   extract_common_fields   s
   z$GlobusProvider.extract_common_fieldsc                 C   s   g d}t jr|d |S )N)openidprofileoffline_accessr"   )r   QUERY_EMAILappend)r   scoper   r   r   get_default_scope!   s   
z GlobusProvider.get_default_scopeN)r   r   r   idr$   r   account_classr   oauth2_adapter_classr!   r'   r.   r   r   r   r   r      s    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   r   <module>   s    
