
    qh                     2    S SK Jr  SSKJr   " S S\5      rg)    )	urlencode   )
BaseOAuth2c                   ^    \ rS rSrSrSrSrSrSrSr	\
S 5       rS	 rS
 rSS jrS rS rSrg)
OssoOAuth2   z!Osso OAuth authentication backendossoFTz{osso_base_url}/oauth/authorizez{osso_base_url}/oauth/tokenc                 &    U R                  SS5      $ )NOSSO_BASE_URLzhttps://demo.ossoapp.com)settingselfs    K/var/www/html/env/lib/python3.13/site-packages/social_core/backends/osso.pyosso_base_urlOssoOAuth2.osso_base_url   s    ||O-GHH    c                 H    U R                   R                  U R                  S9$ N)r   )AUTHORIZATION_URLformatr   r   s    r   authorization_urlOssoOAuth2.authorization_url   s"    %%,,4;M;M,NNr   c                 H    U R                   R                  U R                  S9$ r   )ACCESS_TOKEN_URLr   r   r   s    r   access_token_urlOssoOAuth2.access_token_url   s"    $$++$:L:L+MMr   Nc                     U R                  5       u  p#X R                  U5      S.nU R                  R                  S5      (       a  U R                  R                  S5      US'   U R                  R                  S5      (       a>  U R                  R                  S5      (       d  U R                  R                  S5      US'   U R                  (       a  U(       a  XS'   U R
                  (       a  U R
                  US'   U$ )N)	client_idredirect_uriemaildomainstateresponse_type)get_key_and_secretget_redirect_uridatagetSTATE_PARAMETERRESPONSE_TYPE)r   r"   r   _client_secretparamss        r   auth_paramsOssoOAuth2.auth_params   s    $($;$;$=!	(:O:OPU:VW99==!!"iimmG4F7O99==""499==+A+A#yy}}X6F8E#7O&*&8&8F?#r   c                 H    UR                  S5      UR                  S5      S.$ )zReturn user details from Ossor    )usernamer    )r'   )r   responses     r   get_user_detailsOssoOAuth2.get_user_details&   s    $LL1HLL<QRRr   c                 ^    U R                    S3[        SU05      -   nU R                  U5      $ )z'Loads normalized user profile from Ossoz
/oauth/me?access_token)r   r   get_json)r   r4   argskwargsurls        r   	user_dataOssoOAuth2.user_data*   s:    ##$J/)\*3
 
 }}S!!r    )N)__name__
__module____qualname____firstlineno____doc__nameREDIRECT_STATEr(   r   r   propertyr   r   r   r,   r1   r9   __static_attributes__r;   r   r   r   r      sP    +DNO94I IONS"r   r   N)urllib.parser   oauthr   r   r;   r   r   <module>rG      s    " )" )"r   