
    qh                     D    S r SSKJrJr   " S S\5      r " S S\5      rg)zz
Douban OAuth1 and OAuth2 backends, docs at:
    https://python-social-auth.readthedocs.io/en/latest/backends/douban.html
   )
BaseOAuth1
BaseOAuth2c                   @    \ 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)DoubanOAuth	   #Douban OAuth authentication backenddoubanidr   z,http://www.douban.com/service/auth/authorizez0http://www.douban.com/service/auth/request_tokenz/http://www.douban.com/service/auth/access_tokenc                     US   S   $ )Ndb:uid$t )selfdetailsresponses      M/var/www/html/env/lib/python3.13/site-packages/social_core/backends/douban.pyget_user_idDoubanOAuth.get_user_id   s    !$''    c                     US   S   SS.$ )Return user details from Doubanr   r    )usernameemailr   )r   r   s     r   get_user_detailsDoubanOAuth.get_user_details   s    $X.t4rBBr   c                 @    U R                  SU R                  U5      S9$ )Return user data providedz,http://api.douban.com/people/%40me?&alt=json)auth)get_json
oauth_authr   access_tokenargskwargss       r   	user_dataDoubanOAuth.user_data   s'    }}:.  
 	
r   r   N)__name__
__module____qualname____firstlineno____doc__name
EXTRA_DATAAUTHORIZATION_URLREQUEST_TOKEN_URLACCESS_TOKEN_URLr   r   r'   __static_attributes__r   r   r   r   r   	   s3    -DJFJH(C
r   r   c                   <    \ rS rSrSrSrSrSrSr/ SQr	S r
S	 rS
rg)DoubanOAuth2!   r   zdouban-oauth2z)https://www.douban.com/service/auth2/authz*https://www.douban.com/service/auth2/tokenF)r
   )uidr   )refresh_tokenr8   c                 z    U R                  UR                  SS5      5      u  p#nUR                  SS5      UUUSS.$ )r   r.   r   r7   )r   fullname
first_name	last_namer   )get_user_namesget)r   r   r:   r;   r<   s        r   r   DoubanOAuth2.get_user_details.   sG    *.*=*=hll6SU>V*W'i UB/ $"
 	
r   c                 ,    U R                  SSSU 30S9$ )r   z"https://api.douban.com/v2/user/~meAuthorizationzBearer )headers)r!   r#   s       r   r'   DoubanOAuth2.user_data9   s*    }}0$~&>?  
 	
r   r   N)r)   r*   r+   r,   r-   r.   r0   r2   REDIRECT_STATEr/   r   r'   r3   r   r   r   r5   r5   !   s,    -DCCNJ	

r   r5   N)r-   oauthr   r   r   r5   r   r   r   <module>rF      s'   
 *
* 
0
: 
r   