a
    Uz_E                     @   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)app_settings)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )OktaProviderc                   @   sb   e Zd ZejZejei Z	e	dZ
edd Zedd Zedd Zedd	 Zd
d ZdS )OktaOAuth2AdapterZOKTA_BASE_URLc                 C   s   d | jS )Nzhttps://{}/oauth2/v1/tokenformatokta_base_urlself r   b/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/okta/views.pyaccess_token_url   s    z"OktaOAuth2Adapter.access_token_urlc                 C   s   d | jS )Nzhttps://{}/oauth2/v1/authorizer	   r   r   r   r   authorize_url   s    zOktaOAuth2Adapter.authorize_urlc                 C   s   d | jS )Nzhttps://{}/oauth2/v1/userinfor	   r   r   r   r   userinfo_url   s    zOktaOAuth2Adapter.userinfo_urlc                 C   s   dS )NZPOSTr   r   r   r   r   access_token_method   s    z%OktaOAuth2Adapter.access_token_methodc                 K   s@   t j| jdd|jid}|  | }|  ||}|S )z
        Get the user info from userinfo endpoint and return a
        A populated instance of the `SocialLogin` model (unsaved)

        :param request:
        :param app:
        :param token:
        :param kwargs:
        :return:
        ZAuthorizationz	Bearer {})headers)	requestsgetr   r
   tokenZraise_for_statusjsonget_providerZsociallogin_from_response)r   requestZappr   kwargsZresp
extra_dataZloginr   r   r   complete_login#   s    z OktaOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   idZprovider_idr   Z	PROVIDERSr   settingsr   propertyr   r   r   r   r   r   r   r   r   r      s   




r   )r   Zallauth.socialaccountr   Z,allauth.socialaccount.providers.oauth2.viewsr   r   r   Zproviderr   r   Zadapter_viewZoauth2_loginZoauth2_callbackr   r   r   r   <module>   s   -
