
    qh
                     X    S r SSKJr  SSKJr  SSKJr   " S S\5      r " S S	\5      rg
)zo
Mail.ru OAuth2 backend, docs at:
    https://python-social-auth.readthedocs.io/en/latest/backends/mailru.html
    )md5)unquote   )
BaseOAuth2c                   <    \ rS rSrSrSrSrSrSrSS/r	S	 r
S
 rSrg)MailruOAuth2   zMail.ru authentication backendzmailru-oauth2uidz'https://connect.mail.ru/oauth/authorizez#https://connect.mail.ru/oauth/tokenrefresh_tokenr   
expires_inexpiresc                     U R                  [        US   5      [        US   5      S9u  p#n[        US   5      [        US   5      UUUS.$ )z(Return user details from Mail.ru request
first_name	last_name)r   r   nickemail)usernamer   fullnamer   r   )get_user_namesr   )selfresponser   r   r   s        M/var/www/html/env/lib/python3.13/site-packages/social_core/backends/mailru.pyget_user_detailsMailruOAuth2.get_user_details   se    *.*=*=x56h{34 +> +
'i
   01Xg./ $"
 	
    c                    U R                  5       u  pESUUSS.n[        S UR                  5        5       5      n[        SR	                  U5      U-   R                  S5      5      R                  5       US'   U R                  SUS	9S
   $ )z&Return user data from Mail.ru REST APIzusers.getInfo1)methodsession_keyapp_idsecurec              3   4   #    U  H  u  pU S U 3v   M     g7f)=N ).0itemvalues      r   	<genexpr>)MailruOAuth2.user_data.<locals>.<genexpr>,   s     O+$tfAeW-s    zutf-8sigz#http://www.appsmail.ru/platform/apiparamsr   )get_key_and_secretsortedvaluesr   joinencode	hexdigestget_json)r   access_tokenargskwargskeysecretdata
param_lists           r   	user_dataMailruOAuth2.user_data#   s    --/%'	
 OOO
277:.7??HISSUU}}B4}PQRSSr   r&   N)__name__
__module____qualname____firstlineno____doc__nameID_KEYAUTHORIZATION_URLACCESS_TOKEN_URL
EXTRA_DATAr   r>   __static_attributes__r&   r   r   r   r      s1    (DFA<46OPJ
Tr   r   c                   <    \ rS rSrSrSrSrSrSS/rSr	S	 r
S
 rSrg)	MRGOAuth22   mailrur   zhttps://oauth.mail.ru/loginzhttps://oauth.mail.ru/tokenr   r   Fc                 H   UR                  S5      UR                  S5      UR                  S5      UR                  S5      UR                  S5      UR                  S5      UR                  S5      UR                  S5      UR                  S5      UR                  S	5      S
.
$ )NgenderrE   r   r   localer   addressbirthdayimage)
rP   r   r   r   r   rQ   r   rR   rS   rT   )get)r   r   s     r   r   MRGOAuth2.get_user_details:   s    ll8, V, V,",,|4!k2ll8,\\'*||I. Z0\\'*
 	
r   c                 &    U R                  SSU0S9$ )Nzhttps://oauth.mail.ru/userinfor7   r.   )r6   )r   r7   r8   r9   s       r   r>   MRGOAuth2.user_dataH   s"    }},nl5S  
 	
r   r&   N)r@   rA   rB   rC   rE   rF   rG   rH   rI   REDIRECT_STATEr   r>   rJ   r&   r   r   rL   rL   2   s2    DF5446OPJN

r   rL   N)	rD   hashlibr   urllib.parser   oauthr   r   rL   r&   r   r   <module>r]      s0   
    #T: #TL

 
r   