
    qhi                     B    S r SSKJr  SSKJr  SSKJr   " S S\5      rg)	zl
Twilio auth backend, docs at:
    https://python-social-auth.readthedocs.io/en/latest/backends/twilio.html
    )sub)	urlencode   )BaseAuthc                   .    \ rS rSrSrSrS rS rS rSr	g)	
TwilioAuth   twilio
AccountSidc                     US   SSSSS.$ )zEReturn twilio details, Twilio only provides AccountSID as
parameters.r    )usernameemailfullname
first_name	last_name )selfresponses     M/var/www/html/env/lib/python3.13/site-packages/social_core/backends/twilio.pyget_user_detailsTwilioAuth.get_user_details   s"    
 !.
 	
    c                     U R                  5       u  pU R                  R                  U R                  5      n[	        SSU5      n[        SU05      nSU SU 3$ )z"Return authorization redirect url.z^httpshttpcbz!https://www.twilio.com/authorize/?)get_key_and_secretstrategyabsolute_uriredirect_urir   r   )r   keysecretcallbackquerys        r   auth_urlTwilioAuth.auth_url   s\    --/==--d.?.?@y&(34*+23%q@@r   c                     U R                   R                  S5      nU(       d  [        S5      eUR                  U R                   U S.5        U R                  R
                  " U0 UD6$ )z2Completes login process, must return user instancer   zNo AccountSid returned)r   backend)dataget
ValueErrorupdater   authenticate)r   argskwargsaccount_sids       r   auth_completeTwilioAuth.auth_complete$   sR    iimmL1566499>?}}))4:6::r   r   N)
__name__
__module____qualname____firstlineno__nameID_KEYr   r&   r2   __static_attributes__r   r   r   r   r      s    DF

A;r   r   N)__doc__rer   urllib.parser   baser   r   r   r   r   <module>r?      s!   
  " ; ;r   