
    qh                     *    S r SSKJr   " S S\5      rg)z
Slack OAuth2 backend, docs at:
    https://python-social-auth.readthedocs.io/en/latest/backends/slack.html
    https://api.slack.com/docs/oauth
   )
BaseOAuth2c                   \   ^  \ rS rSrSrSrSrSrSS/rSr	S	r
/ S
QrU 4S jrS rS rSrU =r$ )SlackOAuth2
   z"Slack OAuth authentication backendslackz!https://slack.com/oauth/authorizez"https://slack.com/api/oauth.accesszidentity.basiczidentity.email,F))idr	   )namer
   )	real_namer   c                    > [         TU ]  5       =(       d    0 nU R                  S5      (       a  U R                  S5      US'   U$ )NTEAMteam)superauth_extra_argumentssetting)selfparams	__class__s     L/var/www/html/env/lib/python3.13/site-packages/social_core/backends/slack.pyr    SlackOAuth2.auth_extra_arguments   s;    -/52<<!\\&1F6N    c                 V   US   nUR                  S5      nUS   nUR                  S5      nU=(       a    UR                  SS5      S   =(       d    UnU R                  U5      u  pxn	U R                  SS	5      (       a$  U(       a  SU;   a  S
R	                  XaS   S   5      nUUUUU	S.$ )z&Return user details from Slack accountuserr   r
   email@r       USERNAME_WITH_TEAMTz{}@{})usernamer   fullname
first_name	last_name)getsplitget_user_namesr   format)
r   responser   r   r
   r   r   r   r    r!   s
             r   get_user_detailsSlackOAuth2.get_user_details   s     ||F#F|!4ekk#q1!4=*.*=*=d*C'i<<,d334~~h0@0HIH ! $"
 	
r   c                 t    U R                  SSSU 30S9nUR                  SS5      (       d  US   S   US'   U$ )zLoads user data from servicez$https://slack.com/api/users.identityAuthorizationzBearer )headersr	   Nr   )get_jsonr"   )r   access_tokenargskwargsr&   s        r   	user_dataSlackOAuth2.user_data1   sR    ==2$~&>? ! 
 ||D$''%f-d3HTNr    )__name__
__module____qualname____firstlineno____doc__r
   AUTHORIZATION_URLACCESS_TOKEN_URLDEFAULT_SCOPESCOPE_SEPARATORREDIRECT_STATE
EXTRA_DATAr   r'   r0   __static_attributes____classcell__)r   s   @r   r   r   
   sE    ,D;;%'78MONMJ
, r   r   N)r7   oauthr   r   r2   r   r   <module>rA      s    /* /r   