
    TњhE	                         S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	J
r
Jr  S SKJr  SSKJr   " S	 S
\	5      r\R"                  " \5      r\
R"                  " \5      rg)    )reverse)app_settings)get_adapter)OAuth2Error)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView)build_absolute_uri   )FeishuOAuth2Clientc                   D    \ rS rSrSrSrSrSrSr\	S 5       r
S rS	 rS
rg)FeishuOAuth2Adapter   feishuz0https://open.feishu.cn/open-apis/authen/v1/indexz7https://open.feishu.cn/open-apis/authen/v1/access_tokenzChttps://open.feishu.cn/open-apis/auth/v3/app_access_token/internal/z4https://open.feishu.cn/open-apis/authen/v1/user_infoc                 z    U R                  5       R                  5       nUR                  SU R                  5      nU$ )NAUTHORIZE_URL)get_providerget_settingsgetauthorization_url)selfsettingsurls      gD:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/socialaccount/providers/feishu/views.pyauthorize_url!FeishuOAuth2Adapter.authorize_url   s4    $$&335ll?D,B,BC
    c                 L   [        5       R                  5       R                  U R                  SSUR                  -   S.S9nUR                  5         UR                  5       nUS   S:w  a  [        SUR                  -  5      eUS   nU R                  5       R                  X5      $ )	Nzapplication/jsonzBearer )zContent-TypeAuthorization)headerscoder   zError retrieving code: %sdata)r   get_requests_sessionr   user_info_urltokenraise_for_statusjsonr   contentr   sociallogin_from_response)r   requestappr%   kwargsresp
extra_datas          r   complete_login"FeishuOAuth2Adapter.complete_login"   s    M!!#S""$6%.%<   	 	YY[
f"9DLLHII'
  "<<WQQr   c                     [        U R                  S-   5      nU R                  =(       d    [        R                  n[        XUS9n[        UUR                  UR                  U R                  U R                  U5      nU$ )N	_callback)protocol)r   provider_idredirect_uri_protocolr   DEFAULT_HTTP_PROTOCOLr
   r   	client_idsecretaccess_token_methodaccess_token_url)r   r*   r+   callback_urlr3   clients         r   
get_clientFeishuOAuth2Adapter.get_client6   sp    t//+=>--S1S1S)'(S#MMJJ$$!!
 r    N)__name__
__module____qualname____firstlineno__r4   r   r:   app_access_token_urlr$   propertyr   r/   r=   __static_attributes__r?   r   r   r   r      sE    KJA  	N  KM 
R(r   r   N)django.urlsr   allauth.accountr   allauth.socialaccount.adapterr   -allauth.socialaccount.providers.oauth2.clientr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r	   allauth.utilsr
   r<   r   r   adapter_viewoauth2_loginoauth2_callbackr?   r   r   <module>rP      sT     ( 5 E 
 - &2- 2j ++,?@$112EFr   