
    f                         d dl mZ 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      Z G d d	e      Z G d
 de
      ZegZy)    )EmailAddress)QUERY_EMAIL)
AuthActionProviderAccount)CILogonOAuth2Adapter)OAuth2Providerc                       e Zd ZdZdZdZdZy)Scopeopenidemailprofilezorg.cilogon.userinfoN)__name__
__module____qualname__OPENIDEMAILPROFILEUSERINFO     k/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/cilogon/provider.pyr
   r
      s    FEG%Hr   r
   c                       e Zd Zy)CILogonAccountN)r   r   r   r   r   r   r   r      s    r   r   c                   F     e Zd ZdZdZeZeZd Z	 fdZ
d Zd Zd Z xZS )CILogonProvidercilogonCILogonc                     t         j                  t         j                  t         j                  g}t        r|j                  t         j                         |S )N)r
   r   r   r   r   appendr   )selfscopes     r   get_default_scopez!CILogonProvider.get_default_scope   s2    =LL%r   c                 X    t         |   ||      }|t        j                  k(  rd|d<   |S )Nzselect_account consentprompt)superget_auth_params_from_requestr   REAUTHENTICATE)r    requestactionret	__class__s       r   r&   z,CILogonProvider.get_auth_params_from_request   s0    g27FCZ...4CM
r   c                 6    t        |j                  d            S )Nsub)strgetr    datas     r   extract_uidzCILogonProvider.extract_uid%   s    488E?##r   c                     t        |j                  d      |j                  d      |j                  d      |j                  d            S )Nr   family_name
given_nameeppn)r   	last_name
first_namer6   )dictr/   r0   s     r   extract_common_fieldsz%CILogonProvider.extract_common_fields(   s?    ((7#hh}-xx-&!	
 	
r   c                     g }|j                  d      }|r.|j                  d      r|j                  t        |dd             |S )Nr   verified_emailT)r   verifiedprimary)r/   r   r   )r    r1   r*   r   s       r   extract_email_addressesz'CILogonProvider.extract_email_addresses0   s>    !TXX./JJ|%$MN
r   )r   r   r   idnamer   account_classr   oauth2_adapter_classr"   r&   r2   r:   r?   __classcell__)r+   s   @r   r   r      s1    	BD"M/$
r   r   N)allauth.account.modelsr   "allauth.socialaccount.app_settingsr   $allauth.socialaccount.providers.baser   r   -allauth.socialaccount.providers.cilogon.viewsr   /allauth.socialaccount.providers.oauth2.providerr   r
   r   r   provider_classesr   r   r   <module>rK      sB    / : L N J& &	_ 	"n "J $$ r   