
    f                         d dl mZ d dlmZmZmZ ddlmZ  G d de      Z ej                  e      Z
 ej                  e      Zy)    )get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )WeixinOAuth2Clientc                   2    e Zd ZdZdZdZeZed        Z	d Z
y)WeixinOAuth2Adapterweixinz1https://api.weixin.qq.com/sns/oauth2/access_tokenz&https://api.weixin.qq.com/sns/userinfoc                 f    | j                         j                         }|j                  dd      }|S )NAUTHORIZE_URLz,https://open.weixin.qq.com/connect/qrconnect)get_providerget_settingsget)selfsettingsurls      g/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/weixin/views.pyauthorize_urlz!WeixinOAuth2Adapter.authorize_url   s4    $$&335llK
 
    c                    |j                  di       j                  d      }t               j                         j                  | j                  |j                  |d      }|j                          |j                         }|j                  d      }|r#|j                  d      j                  d      |d<   | j                         j                  ||      S )Nresponseopenid)access_tokenr   )paramsnicknameraw_unicode_escapezutf-8)r   r   get_requests_sessionprofile_urltokenraise_for_statusjsonencodedecoder   sociallogin_from_response)	r   requestappr    kwargsr   resp
extra_datar   s	            r   complete_loginz"WeixinOAuth2Adapter.complete_login   s    J+//9M!!#S  (-vF   	 	YY[
>>*-%-__5I%J%Q%Q&Jz"   "<<WjQQr   N)__name__
__module____qualname__provider_idaccess_token_urlr   r   client_classpropertyr   r+    r   r   r
   r
      s/    KJ:K%L Rr   r
   N)allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   clientr   r
   adapter_viewoauth2_loginoauth2_callbackr3   r   r   <module>r:      sO    5  'R- RD ,++,?@1$112EFr   