
    )Jf                         d dl mZ d dlmZ d dlmZmZ d dlmZ  G d de	          Z
 G d de          Z G d	 d
e          ZegZdS )    )EmailAddress)QUERY_EMAIL)
AuthActionProviderAccount)OAuth2Providerc                       e Zd ZdZdZdZdZdS )Scopeopenidemailprofilezorg.cilogon.userinfoN)__name__
__module____qualname__OPENIDEMAILPROFILEUSERINFO     s/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/cilogon/provider.pyr	   r	      s"        FEG%HHHr   r	   c                        e Zd Z fdZ xZS )CILogonAccountc                     t          t          |                                           }| j        j                            d|          S )Nname)superr   to_straccount
extra_dataget)selfdflt	__class__s     r   r   zCILogonAccount.to_str   s9    ^T**1133|&**64888r   )r   r   r   r   __classcell__r"   s   @r   r   r      s8        9 9 9 9 9 9 9 9 9r   r   c                   B     e Zd ZdZd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|                    t           j                   |S )N)r	   r   r   r   r   appendr   )r    scopes     r   get_default_scopez!CILogonProvider.get_default_scope   s5    = 	&LL%%%r   c                     t          t          |                               ||          }|t          j        k    rd|d<   |S )Nzselect_account consentprompt)r   r&   get_auth_paramsr   REAUTHENTICATE)r    requestactionretr"   s       r   r/   zCILogonProvider.get_auth_params   s>    OT**::7FKKZ...4CM
r   c                 F    t          |                    d                    S )Nsub)strr   r    datas     r   extract_uidzCILogonProvider.extract_uid%   s    488E??###r   c                     t          |                    d          |                    d          |                    d          |                    d                    S )Nr   family_name
given_nameeppn)r   	last_name
first_namer=   )dictr   r7   s     r   extract_common_fieldsz%CILogonProvider.extract_common_fields(   sU    ((7##hh}--xx--&!!	
 
 
 	
r   c                     g }|                     d          }|r:|                     d          r%|                    t          |dd                     |S )Nr   verified_emailT)r   verifiedprimary)r   r*   r   )r    r8   r3   r   s       r   extract_email_addressesz'CILogonProvider.extract_email_addresses0   s\    !! 	OTXX.// 	OJJ|%$MMMNNN
r   )r   r   r   idr   r   account_classr,   r/   r9   rA   rF   r#   r$   s   @r   r&   r&      s        	BD"M      $ $ $
 
 
      r   r&   N)allauth.account.modelsr   "allauth.socialaccount.app_settingsr   $allauth.socialaccount.providers.baser   r   /allauth.socialaccount.providers.oauth2.providerr   objectr	   r   r&   provider_classesr   r   r   <module>rO      s    / / / / / / : : : : : : L L L L L L L L J J J J J J& & & & &F & & &9 9 9 9 9_ 9 9 9! ! ! ! !n ! ! !H $$   r   