o
    Lf                      @   s`   d dl m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 )	    )app_settings)get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )LinkedInOAuth2Providerc                   @   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 )LinkedInOAuth2Adapterz-https://www.linkedin.com/oauth/v2/accessTokenz/https://www.linkedin.com/oauth/v2/authorizationzhttps://api.linkedin.com/v2/mezRhttps://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))GETc                 K   s   |  |}|  ||S )N)get_user_infoget_providersociallogin_from_response)selfrequestapptokenkwargs
extra_data r   v/var/www/html/humari/django-venv/lib/python3.10/site-packages/allauth/socialaccount/providers/linkedin_oauth2/views.pycomplete_login   s   
z$LinkedInOAuth2Adapter.complete_loginc                 C   s   |    }i }||    di  dd|jg|d< i }tjr6t	 
 j| j|d}|jr6| }| jdd|  }t	 
 j||d}|  ||  |S )NHEADERS BearerAuthorization)headersz?projection=(%s),)r   get_profile_fieldsupdateget_settingsgetjoinr   r   QUERY_EMAILr   get_requests_session	email_urlokjsonprofile_urlraise_for_status)r   r   fieldsr   inforespurlr   r   r   r      s$   z#LinkedInOAuth2Adapter.get_user_infoN)__name__
__module____qualname__r   idprovider_idaccess_token_urlauthorize_urlr'   r$   access_token_methodr   r   r   r   r   r   r	      s    r	   N)allauth.socialaccountr   allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   providerr   r	   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
(