o
    ëË·eF  ã                   @   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)ÚKeycloakProvider)ÚOAuth2AdapterÚOAuth2CallbackViewÚOAuth2LoginViewc                   @   s   e Zd ZejZdZej 	ei ¡Z
d e
 	d¡e
 	d¡¡Zd e¡Ze
 	d¡Zedu r/e
 	d¡Zd ee
 	d¡¡Zd e¡Zd	 e¡Zd
d„ ZdS )ÚKeycloakOAuth2AdapterTz{0}/realms/{1}ÚKEYCLOAK_URLÚKEYCLOAK_REALMz {0}/protocol/openid-connect/authÚKEYCLOAK_URL_ALTNz!{0}/protocol/openid-connect/tokenz${0}/protocol/openid-connect/userinfoc                 C   sN   t j| jddt|ƒ id}| ¡  | ¡ }|d |d< |d= |  ¡  ||¡S )NÚAuthorizationzBearer )ÚheadersÚsubÚid)ÚrequestsÚpostÚprofile_urlÚstrÚraise_for_statusÚjsonÚget_providerÚsociallogin_from_response)ÚselfÚrequestÚappÚtokenÚresponseÚ
extra_data© r   úe/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/keycloak/views.pyÚcomplete_login    s   ÿz$KeycloakOAuth2Adapter.complete_login)Ú__name__Ú
__module__Ú__qualname__r   r   Úprovider_idÚsupports_stater   Ú	PROVIDERSÚgetÚsettingsÚformatÚprovider_base_urlÚauthorize_urlÚ	other_urlÚserver_base_urlÚaccess_token_urlr   r   r   r   r   r   r      s    ÿ




r   )r   Úallauth.socialaccountr   Ú1allauth.socialaccount.providers.keycloak.providerr   Ú,allauth.socialaccount.providers.oauth2.viewsr   r   r   r   Úadapter_viewÚoauth2_loginÚoauth2_callbackr   r   r   r   Ú<module>   s   
