o
    ig                     @   sL   d Z ddlmZmZmZ ddlmZmZmZ erddl	Z	G dd deZ
dS )zSeznam SSO Login Helper.    )TYPE_CHECKINGClassVarOptional)DiscoveryDocumentOpenIDSSOBaseNc                   @   sT   e Zd ZU dZdZdZddgZeed< de	fdd	Z
ddeded defddZd
S )	SeznamSSOz'Class providing login via Seznam OAuth.Zseznamzhttps://login.szn.cz/api/v1identityZavatarscopereturnc                    s&   | j  d| j  d| j  ddS )z#Get document containing handy urls.z/oauth/authz/oauth/tokenz/user)Zauthorization_endpointZtoken_endpointZuserinfo_endpoint)base_url)self r   M/home/app/Keep/.python/lib/python3.10/site-packages/fastapi_sso/sso/seznam.pyget_discovery_document   s
   


z SeznamSSO.get_discovery_documentNresponsesessionzhttpx.AsyncClientc              
      s>   t |d|d|d|d| j|d|ddS )z7Return OpenID from user information provided by Seznam.emailZ	firstnamelastnameZaccountDisplayNameZoauth_user_idZ
avatar_url)r   Z
first_name	last_nameZdisplay_nameprovideridZpicture)r   getr   )r   r   r   r   r   r   openid_from_response   s   zSeznamSSO.openid_from_response)N)__name__
__module____qualname____doc__r   r   r
   r   __annotations__r   r   dictr   r   r   r   r   r   r   r      s   
  r   )r   typingr   r   r   Zfastapi_sso.sso.baser   r   r   Zhttpxr   r   r   r   r   <module>   s    