
    qh                     &    S SK Jr   " S S\5      rg)   )
BaseOAuth2c                   F    \ rS rSrSrSrSrSr/ SQrSr	Sr
S	 rS
 rS rSrg)CILogonOAuth2   zE
CI Logon Authentication Backend

Docs: https://www.cilogon.org/oidc
zcilogon-oauth2zhttps://cilogon.org/authorizez https://cilogon.org/oauth2/token)openidemailprofilezorg.cilogon.userinfoF+c                 R    SnSU0n U R                  USUS9$ ! [         a     gf = f)zLoads user data from endpointz#https://cilogon.org/oauth2/userinfoaccess_tokenPOST)methoddataN)get_json
ValueError)selftokenargskwargsurlr   s         N/var/www/html/env/lib/python3.13/site-packages/social_core/backends/cilogon.py	user_dataCILogonOAuth2.user_data   s=    3&	==V$=?? 		s    
&&c                 R    UR                  SS5      S-   UR                  SS5      -   $ )ztReturn user unique id provided by service
In this case it is a combination of the `sub`
and `iss` respective values.sub  iss)get)r   detailsresponses      r   get_user_idCILogonOAuth2.get_user_id   s*     ||E2&,x||E2/FFF    c                     U R                  UR                  S5      UR                  S5      S9u  p#nUR                  S5      UR                  S5      UUUS.$ )z)Return user details from CI Logon service
given_namefamily_name)
first_name	last_namer   )usernamer   fullnamer(   r)   )get_user_namesr   )r   r!   r+   r(   r)   s        r   get_user_detailsCILogonOAuth2.get_user_details!   s`    *.*=*=||L1X\\-=X +> +
'i !W-\\'* $"
 	
r$    N)__name__
__module____qualname____firstlineno____doc__nameAUTHORIZATION_URLACCESS_TOKEN_URLDEFAULT_SCOPEREDIRECT_STATESCOPE_SEPARATORr   r"   r-   __static_attributes__r/   r$   r   r   r      s9     D79JMNOG
r$   r   N)oauthr   r   r/   r$   r   <module>r=      s    (
J (
r$   