o
    Lf                     @   sT   d dl mZ d dlmZmZ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   )TwitterOAuth2Providerc                   @   s2   e Zd ZejZdZdZdZdZ	dd Z
dd Zd	S )
TwitterOAuth2Adapterz&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   u/var/www/html/humari/django-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__r   id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   providerr   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
