o
    h                     @   sZ   d dl mZ d dlmZ d dlmZ d dlmZ G dd deZG dd deZ	e	gZ
d	S )
    )EmailAddress)ProviderAccount)OAuth2Provider)OktaOAuth2Adapterc                   @   s   e Zd ZdS )OktaAccountN)__name__
__module____qualname__ r
   r
   d/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/okta/provider.pyr      s    r   c                   @   sD   e Zd ZdZdZeZeZdd Z	dd Z
dd Zd	d
 Zdd ZdS )OktaProvideroktaOktac                 C   s   g dS )N)openidprofileemailoffline_accessr
   )selfr
   r
   r   get_default_scope   s   zOktaProvider.get_default_scopec                 C   s   t |d S )Npreferred_username)strr   datar
   r
   r   extract_uid   s   zOktaProvider.extract_uidc                 C   s   |S )Nr
   r   r
   r
   r   extract_extra_data   s   zOktaProvider.extract_extra_datac                 C   s   t |d t|d ddgS )Nr   email_verifiedT)r   verifiedprimary)r   boolr   r
   r
   r   extract_email_addresses   s   z$OktaProvider.extract_email_addressesc                 C   s>   t |d |d |d d}|d}|r|dd |d< |S )	Nr   family_name
given_name)r   	last_name
first_namer   @r   username)dictget	partition)r   r   retr   r
   r
   r   extract_common_fields!   s   
z"OktaProvider.extract_common_fieldsN)r   r   r	   idnamer   account_classr   oauth2_adapter_classr   r   r   r   r*   r
   r
   r
   r   r      s    r   N)allauth.account.modelsr   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   *allauth.socialaccount.providers.okta.viewsr   r   r   provider_classesr
   r
   r
   r   <module>   s    
"