
    qhk	                     2    S r SSKrSSKJr   " S S\5      rg)zY
Auth0 implementation based on:
https://auth0.com/docs/quickstart/webapp/django/01-login
    N   )
BaseOAuth2c                   H    \ rS rSrSrSrSrS/rSS jrS r	S r
S	 rS
 rSrg)Auth0OAuth2   z"Auth0 OAuth authentication backendauth0 )picturer
   c                 @    SR                  U R                  S5      US9$ )zBuild API path for Auth0 domainzhttps://{domain}/{path}DOMAIN)domainpath)formatsetting)selfr   s     L/var/www/html/env/lib/python3.13/site-packages/social_core/backends/auth0.pyapi_pathAuth0OAuth2.api_path   s(    (//<<) 0 
 	
    c                 $    U R                  S5      $ )N	authorizer   r   s    r   authorization_urlAuth0OAuth2.authorization_url   s    }}[))r   c                 $    U R                  S5      $ )Nzoauth/tokenr   r   s    r   access_token_urlAuth0OAuth2.access_token_url   s    }}]++r   c                     US   $ )zReturn current user id.user_id )r   detailsresponses      r   get_user_idAuth0OAuth2.get_user_id   s    y!!r   c           	         UR                  S5      nU R                  U R                  S5      5      nU R                  5       nU R                  S5      n [        R
                  R                  U5      R                  nS nU H'  n [        R                  " UUR                  S/UUS9n	  O	   Uc   eUeU R                  U	S   5      u  pnU	S   U	S   U	R                  S	S
5      UUUU	S   U	S   S.$ ! [        R                   a$    [        R                  R                  US5      /n Nf = f! [        R                  [        R                  4 a  n
U
n S n
A
M  S n
A
ff = f)Nid_tokenz.well-known/jwks.jsonKEYRS256)
algorithmsaudienceissuernamenicknameemailemail_verifiedFr
   sub)usernamer/   r0   fullname
first_name	last_namer
   r    )getget_jsonr   r   jwtPyJWKSet	from_dictkeysPyJWKSetErrorPyJWKdecodekeyInvalidSignatureErrorInvalidAlgorithmErrorget_user_names)r   r#   r'   jwksr,   r+   r;   signature_errorr?   payloadexr3   r4   r5   s                 r   get_user_detailsAuth0OAuth2.get_user_details"   se   <<
+}}T]]+BCD<<&	8<<))$/44D C**GG 'y%!   #...!!*.*=*=gfo*N'i
+W%%kk*:EB $"y)u~	
 		
3    	8 II''g67D	8 --s/H/HI %"$%s*   )C1 #D,15D)(D),$EEEr!   N) )__name__
__module____qualname____firstlineno____doc__r-   SCOPE_SEPARATOR
EXTRA_DATAr   r   r   r$   rG   __static_attributes__r!   r   r   r   r      s0    ,DO()J
*,"+
r   r   )rN   r8   oauthr   r   r!   r   r   <module>rS      s    
  B
* B
r   