U
    ”»¥c  ã                   @   sP   d dl 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 )é    N)ÚOAuth2AdapterÚOAuth2CallbackViewÚOAuth2LoginViewé   )ÚTwitterOAuth2Providerc                   @   s.   e Zd Zej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/mec                 K   s   |   |¡}|  ¡  ||¡S )N)Úget_user_infoÚget_providerZsociallogin_from_response)ÚselfÚrequestZappZaccess_tokenÚkwargsÚ
extra_data© r   úx/var/www/html/crackeverytest/cet_env/lib/python3.8/site-packages/allauth/socialaccount/providers/twitter_oauth2/views.pyÚcomplete_login   s    
z#TwitterOAuth2Adapter.complete_loginc                 C   sr   |   ¡  ¡ }i }| |   ¡  ¡  di ¡¡ d d|jg¡|d< tj| jdd |¡i|d}| 	¡  | 
¡ d }|S )	NZHEADERSú ZBearerZAuthorizationzuser.fieldsú,)ÚurlÚparamsÚheadersÚdata)r	   Z
get_fieldsÚupdateZget_settingsÚgetÚjoinÚtokenÚrequestsÚprofile_urlZraise_for_statusÚjson)r
   r   Úfieldsr   Zrespr   r   r   r   r      s    ýz"TwitterOAuth2Adapter.get_user_infoN)Ú__name__Ú
__module__Ú__qualname__r   ÚidZprovider_idZaccess_token_urlZauthorize_urlr   r   r   r   r   r   r   r      s   r   )r   Z,allauth.socialaccount.providers.oauth2.viewsr   r   r   Zproviderr   r   Zadapter_viewZoauth2_loginZoauth2_callbackr   r   r   r   Ú<module>   s
   
