o
    ˷e                     @   sj   d dl mZ d dlmZ d dlmZ eedi di ddZG dd	 d	eZ	G d
d deZ
e
gZdS )    )settings)ProviderAccount)OAuth2ProviderSOCIALACCOUNT_PROVIDERSkeycloakOVERRIDE_NAMEKeycloakc                       s$   e Zd Zdd Z fddZ  ZS )KeycloakAccountc                 C   s   | j jdS )Npicture)account
extra_datagetself r   h/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/keycloak/provider.pyget_avatar_url   s   zKeycloakAccount.get_avatar_urlc                    s   t t|  }| jjd|S )Nname)superr	   to_strr   r   r   )r   dflt	__class__r   r   r      s   zKeycloakAccount.to_str)__name__
__module____qualname__r   r   __classcell__r   r   r   r   r	      s    r	   c                   @   s0   e Zd ZdZeZeZdd Zdd Z	dd Z
dS )	KeycloakProviderr   c                 C   s   g dS )N)openidprofileemailr   r   r   r   r   get_default_scope   s   z"KeycloakProvider.get_default_scopec                 C   s   t |d S )Nid)strr   datar   r   r   extract_uid    s   zKeycloakProvider.extract_uidc                 C   s0   t |d|d|d|d|ddS )Nr    preferred_usernamer   user_idr
   )r    usernamer   r(   r
   )dictr   r$   r   r   r   extract_common_fields#   s   z&KeycloakProvider.extract_common_fieldsN)r   r   r   r"   r   r   r	   account_classr!   r&   r+   r   r   r   r   r      s    r   N)django.confr   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   getattrr   r   r	   r   provider_classesr   r   r   r   <module>   s   
	
