
    qh                     &    S SK Jr   " S S\5      rg)   )
BaseOAuth2c                   D    \ rS rSrSrSrSrSrS/rSr	Sr
S	 rS
 rS rSrg)ClasslinkOAuth   ze
Classlink OAuth authentication backend.

Docs: https://developer.classlink.com/docs/oauth2-workflow
	classlinkz.https://launchpad.classlink.com/oauth2/v2/authz/https://launchpad.classlink.com/oauth2/v2/tokenprofileF c                     US   $ )z)Return user unique id provided by serviceUserId )selfdetailsresponses      P/var/www/html/env/lib/python3.13/site-packages/social_core/backends/classlink.pyget_user_idClasslinkOAuth.get_user_id   s    !!    c                     U R                  UR                  S5      UR                  S5      S9u  p#nUR                  S5      =(       d    UR                  S5      UR                  S5      UUUS.$ )z*Return user details from Classlink account	FirstNameLastName)
first_name	last_nameEmailLoginId)usernameemailfullnamer   r   )get_user_namesget)r   r   r   r   r   s        r   get_user_detailsClasslinkOAuth.get_user_details   sn    *.*=*=||K0HLL<T +> +
'i
 !W-Hi1H\\'* $"
 	
r   c                 T    SnSSU 30n U R                  XES9$ ! [         a     gf = f)zLoads user data from servicez(https://nodeapi.classlink.com/v2/my/infoAuthorizationzBearer )headersN)get_json
ValueError)r   tokenargskwargsurlauth_headers         r   	user_dataClasslinkOAuth.user_data$   s@    8&'%(9:	===:: 		s    
''r   N)__name__
__module____qualname____firstlineno____doc__nameAUTHORIZATION_URLACCESS_TOKEN_URLDEFAULT_SCOPEREDIRECT_STATESCOPE_SEPARATORr   r    r,   __static_attributes__r   r   r   r   r      s:     DHHKMNO"
r   r   N)oauthr   r   r   r   r   <module>r;      s    'Z 'r   