o
    h                     @   sH   d dl mZ d dlmZmZmZ G dd deZeeZeeZ	dS )    )get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                   @   s0   e Zd ZdZdZdZdZdZdd Zdd	 Z	d
S )TwitterOAuth2Adaptertwitter_oauth2z&https://api.twitter.com/2/oauth2/tokenz&https://twitter.com/i/oauth2/authorizez"https://api.twitter.com/2/users/meTc                 K   s   |  |}|  ||S )N)get_user_infoget_providersociallogin_from_response)selfrequestappaccess_tokenkwargs
extra_data r   k/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/twitter_oauth2/views.pycomplete_login   s   
z#TwitterOAuth2Adapter.complete_loginc                 C   sx   |    }i }||    di  dd|jg|d< t  j| j	dd|i|d}|
  | d }|S )	NHEADERS BearerAuthorizationzuser.fields,)urlparamsheadersdata)r	   
get_fieldsupdateget_settingsgetjointokenr   get_requests_sessionprofile_urlraise_for_statusjson)r   r"   fieldsr   respr   r   r   r   r      s   	z"TwitterOAuth2Adapter.get_user_infoN)
__name__
__module____qualname__provider_idaccess_token_urlauthorize_urlr$   
basic_authr   r   r   r   r   r   r   	   s    r   N)
allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s
    
