
    AHjg                     R    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e      Z
y)zSeznam SSO Login Helper.    )TYPE_CHECKINGClassVarOptional)DiscoveryDocumentOpenIDSSOBaseNc                   T    e Zd ZU dZdZdZddgZeed<   de	fdZ
dd
eded   defdZy	)	SeznamSSOz'Class providing login via Seznam OAuth.seznamzhttps://login.szn.cz/api/v1identityavatarscopereturnc                 d   K   | j                    d| j                    d| j                    ddS w)z#Get document containing handy urls.z/oauth/authz/oauth/tokenz/user)authorization_endpointtoken_endpointuserinfo_endpoint)base_url)selfs    N/root/tools/cai/cai_env/lib/python3.12/site-packages/fastapi_sso/sso/seznam.pyget_discovery_documentz SeznamSSO.get_discovery_document   s<      *.{&C!%|<$(MM?%!8
 	
s   .0Nresponsesessionzhttpx.AsyncClientc                    K   t        |j                  d      |j                  d      |j                  d      |j                  d      | j                  |j                  d      |j                  d            S w)z7Return OpenID from user information provided by Seznam.email	firstnamelastnameaccountDisplayNameoauth_user_id
avatar_url)r   
first_name	last_namedisplay_nameprovideridpicture)r   getr$   )r   r   r   s      r   openid_from_responsezSeznamSSO.openid_from_response   sc     ,,w'||K0ll:.!&:;]]||O,LL.
 	
s   A7A9)N)__name__
__module____qualname____doc__r$   r   r   r   __annotations__r   r   dictr   r   r(        r   r
   r
      sL    1H,H!8,E8,
.? 


4 

(K^B_ 

kq 

r0   r
   )r,   typingr   r   r   fastapi_sso.sso.baser   r   r   httpxr
   r/   r0   r   <module>r4      s&     4 4 C C
 
r0   