o
    ˷eV                     @   s\   d dl Z d dlmZ 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 )    N)app_settings)NetIQProvider)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                   @   sZ   e Zd ZejZdZej	ei Z
e
	dZedd Zedd Zedd Zd	d
 ZdS )NetIQOAuth2AdapterT	NETIQ_URLc                 C      d | jS )Nz{}/nidp/oauth/nam/tokenformatprovider_base_urlself r   b/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/netiq/views.pyaccess_token_url      z#NetIQOAuth2Adapter.access_token_urlc                 C   r	   )Nz{}/nidp/oauth/nam/authzr
   r   r   r   r   authorize_url   r   z NetIQOAuth2Adapter.authorize_urlc                 C   r	   )Nz{}/nidp/oauth/nam/userinfor
   r   r   r   r   userinfo_url   r   zNetIQOAuth2Adapter.userinfo_urlc                 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:
        Authorizationz	Bearer {})headers)	requestsgetr   r   tokenraise_for_statusjsonget_providersociallogin_from_response)r   requestappr   kwargsresp
extra_dataloginr   r   r   complete_login    s   z!NetIQOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   idprovider_idsupports_stater   	PROVIDERSr   settingsr   propertyr   r   r   r$   r   r   r   r   r      s    



r   )r   allauth.socialaccountr   .allauth.socialaccount.providers.netiq.providerr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s   
)