o
    &zh2                     @   s`   d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 G dd deZ
ee
Zee
ZdS )    )get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView)TikTokOAuth2Client)TikTokScopec                   @   s4   e Zd ZdZdZdZdZeZdZ	dd Z
dd	 Zd
S )TikTokOAuth2Adaptertiktokz+https://open.tiktokapis.com/v2/oauth/token/z)https://www.tiktok.com/v2/auth/authorize/z)https://open.tiktokapis.com/v2/user/info/,c                 C   sN   g }t jj|   v r|g d7 }t jj|   v r"|ddg7 }d|S )N)open_iddisplay_name
avatar_urlusernameprofile_deep_linkr
   )r   user_info_basicvalueget_provider	get_scopeuser_info_profilejoin)selffields r   g/var/www/html/kangema/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/tiktok/views.pyget_query_fields   s   
z$TikTokOAuth2Adapter.get_query_fieldsc           
      K   sj   d|j  |jd}d|  i}t  j| j||d}|  | }|di d}	| 	 
||	S )NzBearer )Authorizationz	Client-IDr   )headersparamsdatauser)token	client_idr   r   get_requests_sessiongetprofile_urlraise_for_statusjsonr   sociallogin_from_response)
r   requestappr    kwargsr   r   responser   	user_infor   r   r   complete_login   s   

z"TikTokOAuth2Adapter.complete_loginN)__name__
__module____qualname__provider_idaccess_token_urlauthorize_urlr$   r   client_classscope_delimiterr   r-   r   r   r   r   r      s    r   N)allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   -allauth.socialaccount.providers.tiktok.clientr   ,allauth.socialaccount.providers.tiktok.scoper   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
$