
    qhQ                     >    S SK Jr  SSKJr  SSKJr   " S S\5      rg)	    )HTTPBasicAuth   )handle_http_errors   )
BaseOAuth2c                   P    \ rS rSrSrSrSrSrSrSr	/ SQr
S	 rS
 r\S 5       rSrg)JustGivingOAuth2   z(Just Giving OAuth authentication backend
justgivinguserIdz1https://identity.justgiving.com/connect/authorizez-https://identity.justgiving.com/connect/tokenz%https://api.justgiving.com/v1/account)openidaccountprofileemail	fundraisec                     U R                  SUR                  S5      UR                  S5      5      u  p#nUR                  S5      UR                  S5      UUUS.$ )z,Return user details from Just Giving account 	firstNamelastNamer   )usernamer   fullname
first_name	last_name)get_user_namesget)selfresponser   r   r   s        Q/var/www/html/env/lib/python3.13/site-packages/social_core/backends/justgiving.pyget_user_details!JustGivingOAuth2.get_user_details   s]    *.*=*=[)8<<
+C+
'i !W-\\'* $"
 	
    c                 j    U R                  5       u  pEU R                  U R                  SU 3SUUS.S9$ )zLoads user data from servicezBearer zapplication/json)AuthorizationzContent-Typezx-application-keyz	x-api-key)headers)get_key_and_secretget_jsonUSER_DATA_URL)r   access_tokenargskwargskeysecrets         r   	user_dataJustGivingOAuth2.user_data   sI    --/}}#*<.!9 2%+ 	  
 	
r!   c           	      v   U R                  5       nU R                  U R                  5        U R                  5       u  pEU R	                  U R                  5       U R                  U5      U R                  5       [        XE5      U R                  S9nU R                  U5        U R                  " US   /UQ7SU0UD6$ )z2Completes login process, must return user instance)datar$   authmethodr(   r   )validate_stateprocess_errorr0   r%   request_access_tokenaccess_token_urlauth_complete_paramsauth_headersr   ACCESS_TOKEN_METHODdo_auth)r   r)   r*   stater+   r,   r   s          r   auth_completeJustGivingOAuth2.auth_complete+   s     ##%499%--/,,!!#**51%%'s+++ - 
 	8$||^$
:>
/7
BH
 	
r!    N)__name__
__module____qualname____firstlineno____doc__nameID_KEYAUTHORIZATION_URLACCESS_TOKEN_URLr'   DEFAULT_SCOPEr   r-   r   r<   __static_attributes__r>   r!   r   r	   r	      sC    2DFKF;MJM

 
 
r!   r	   N)requests.authr   utilsr   oauthr   r	   r>   r!   r   <module>rM      s    ' & 5
z 5
r!   