U
    Zc                     @   s\   d dl Z 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 )    N)OAuth2Error)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )CleverProviderc                   @   s6   e Zd ZejZdZdZdZdZ	dZ
dd Zdd	 Zd
S )CleverOAuth2Adapterzhttps://clever.com/oauth/tokensz"https://clever.com/oauth/authorizezhttps://api.clever.com/v3.0/mez!https://api.clever.com/v3.0/usersTc                 K   s   |  |j}|  ||S )N)get_datatokenget_providerZsociallogin_from_response)selfrequestZappr
   kwargs
extra_data r   p/var/www/html/crackeverytest/cet_env/lib/python3.8/site-packages/allauth/socialaccount/providers/clever/views.pycomplete_login   s    z"CleverOAuth2Adapter.complete_loginc                 C   sz   t j| jdd|id}|jdkr*t | }|di d}t jd| j|dd|id}|  | }|S )NZAuthorizationz	Bearer {})headers   dataidz{}/{})	requestsgetidentity_urlformatZstatus_coder   jsonuser_details_urlZraise_for_status)r   r
   ZrespZuser_idZuser_detailsr   r   r   r	      s     
zCleverOAuth2Adapter.get_dataN)__name__
__module____qualname__r   r   Zprovider_idZaccess_token_urlZauthorize_urlr   r   Zsupports_stater   r	   r   r   r   r   r      s   r   )r   Z-allauth.socialaccount.providers.oauth2.clientr   Z,allauth.socialaccount.providers.oauth2.viewsr   r   r   Zproviderr   r   Zadapter_viewZoauth2_loginZoauth2_callbackr   r   r   r   <module>   s    
