o
    &zh€  ã                   @   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   úo/var/www/html/kangema/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
    
