
    qh9                     >    S SK Jr  S SKJr  SSKJr   " S S\5      rg)    )Any)	urlencode   )
BaseOAuth2c                   P    \ rS rSrSrSrSrSrSrSr	S/r
S	 rS
 rS rS rS rSrg)
UffdOAuth2   zUffd OAuth2 authentication backend

You need to set the following config:
SOCIAL_AUTH_UFFD_KEY - client id
SOCIAL_AUTH_UFFD_SECRET - client secret
SOCIAL_AUTH_UFFD_BASE_URL - base url to uffd installation
uffdPOST TF)idr   c                     U R                  UR                  S5      S9u  p#nUR                  S5      UR                  S5      =(       d    SUUUS.$ )z'Return user details from a Uffd accountname)fullnamenicknameemail )usernamer   r   
first_name	last_name)get_user_namesget)selfresponser   r   r   s        K/var/www/html/env/lib/python3.13/site-packages/social_core/backends/uffd.pyget_user_detailsUffdOAuth2.get_user_details   sZ    *.*=*=\\&) +> +
'i !Z0\\'*0b $"
 	
    c                     U R                  5       S-   [        SU05      -   n U R                  U5      nU$ ! [         a     gf = f)zLoads user data from service?access_tokenN)userinfo_urlr   get_json
ValueError)r   r!   argskwargsurl	user_datas         r   r(   UffdOAuth2.user_data&   sS    !C')^\4R*SS	(,c(:I   		s   6 
AAc                 *    U R                  S5      S-   $ )NBASE_URLz/oauth2/authorizesettingr   s    r   authorization_urlUffdOAuth2.authorization_url/   s    ||J'*===r   c                 *    U R                  S5      S-   $ )Nr+   z/oauth2/tokenr,   r.   s    r   access_token_urlUffdOAuth2.access_token_url2   s    ||J'/99r   c                 *    U R                  S5      S-   $ )Nr+   z/oauth2/userinfor,   r.   s    r   r"   UffdOAuth2.userinfo_url5   s    ||J'*<<<r    N)__name__
__module____qualname____firstlineno____doc__r   REFRESH_TOKEN_METHODSCOPE_SEPARATORSTATE_PARAMETERREDIRECT_STATE
EXTRA_DATAr   r(   r/   r2   r"   __static_attributes__r6   r   r   r   r      sF     D!OONJ
>:=r   r   N)typingr   urllib.parser   oauthr   r   r6   r   r   <module>rE      s     " /= /=r   