
    qh                     B    S r SSKJr  SSKJr  SSKJr   " S S\5      rg	)
z*
Google App Engine support using User API
    )users   )AuthException   )BaseAuthc                   4    \ rS rSrSrSrS rS rS rS r	Sr
g	)
GoogleAppEngineAuth   z&GoogleAppengine authentication backendzgoogle-appenginec                 \    [         R                  " 5       nU(       a  UR                  5       $ g)zReturn current user id.N)r   get_current_useruser_id)selfdetailsresponseusers       J/var/www/html/env/lib/python3.13/site-packages/social_core/backends/gae.pyget_user_idGoogleAppEngineAuth.get_user_id   s"    %%'<<>!    c                 t    [         R                  " 5       nUR                  5       UR                  5       SSSS.$ )z2Return user basic information (id and email only). )usernameemailfullname
first_name	last_name)r   r   r   r   )r   r   r   s      r   get_user_details$GoogleAppEngineAuth.get_user_details   s5    %%'ZZ\
 	
r   c                 B    [         R                  " U R                  5      $ )zBuild and return complete URL.)r   create_login_urlredirect_uri)r   s    r   auth_urlGoogleAppEngineAuth.auth_url"   s    %%d&7&788r   c                     [         R                  " 5       (       d  [        U S5      eUR                  SU S.5        U R                  R
                  " U0 UD6$ )z3Completes login process, must return user instance.zAuthentication errorr   )r   backend)r   r   r   updatestrategyauthenticate)r   argskwargss      r   auth_complete!GoogleAppEngineAuth.auth_complete&   sJ    %%''&<==2$78}}))4:6::r    N)__name__
__module____qualname____firstlineno____doc__namer   r   r"   r+   __static_attributes__r-   r   r   r	   r	      s    0D	
9;r   r	   N)r2   google.appengine.apir   
exceptionsr   baser   r	   r-   r   r   <module>r8      s!    ' &  ;(  ;r   