o
    ˷e                     @   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   )PaypalProviderc                   @   sJ   e Zd ZejZdZedd Zedd Z	edd Z
dd	 Zd
d ZdS )PaypalOAuth2AdapterFc                 C      d}d |  |S )Nz0webapps/auth/protocol/openidconnect/v1/authorizezhttps://www.{0}/{1}format_get_endpointselfpath r   c/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/paypal/views.pyauthorize_url      z!PaypalOAuth2Adapter.authorize_urlc                 C   r   )Nz&v1/identity/openidconnect/tokenservicehttps://api.{0}/{1}r	   r   r   r   r   access_token_url   r   z$PaypalOAuth2Adapter.access_token_urlc                 C   r   )Nz"v1/identity/openidconnect/userinfor   r	   r   r   r   r   profile_url   r   zPaypalOAuth2Adapter.profile_urlc                 C   s"   |    }|ddkrdS dS )NMODElivez
paypal.comzsandbox.paypal.com)get_providerget_settingsget)r   settingsr   r   r   r      s   z!PaypalOAuth2Adapter._get_endpointc                 K   s.   t j| jd|dd}| }|  ||S )Nopenid)schemaaccess_token)params)requestspostr   jsonr   sociallogin_from_response)r   requestapptokenkwargsresponse
extra_datar   r   r   complete_login&   s   z"PaypalOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   idprovider_idsupports_statepropertyr   r   r   r   r*   r   r   r   r   r      s    


r   )r    ,allauth.socialaccount.providers.oauth2.viewsr   r   r   providerr   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
#