o
    gëf  ã                   @   s‚   d Z ddlZddlmZ ddlmZmZ ddlmZ G dd„ deƒZ	G dd	„ d	eƒZ
G d
d„ de	ƒZG dd„ de
ƒZe
edœZdS )a  
This module is originally written: django-social-auth-appsfuel==1.0.0
You could refer to https://github.com/AppsFuel/django-social-auth-appsfuel for issues

settings.py should include the following:

    APPSFUEL_CLIENT_ID = '...'
    APPSFUEL_CLIENT_SECRET = '...'

é    N)Ú	urlencode)Ú
BaseOAuth2ÚOAuthBackend)Údsa_urlopenc                   @   s    e Zd ZdZdd„ Zdd„ ZdS )ÚAppsfuelBackendÚappsfuelc                 C   s   |d S )NÚuser_id© )ÚselfÚdetailsÚresponser	   r	   úf/var/www/html/humari/django-venv/lib/python3.10/site-packages/social_auth/backends/contrib/appsfuel.pyÚget_user_id   s   zAppsfuelBackend.get_user_idc                 C   s:   |  dd¡}|  dd¡}|r| d¡d nd}|||dœS )z)Return user details from Appsfuel accountÚdisplay_nameÚ Úemailú@r   )ÚusernameÚ
first_namer   )ÚgetÚsplit)r
   r   Úfullnamer   r   r	   r	   r   Úget_user_details   s   ýz AppsfuelBackend.get_user_detailsN)Ú__name__Ú
__module__Ú__qualname__Únamer   r   r	   r	   r	   r   r      s    r   c                   @   s0   e Zd ZdZeZdZdZdZdZ	dZ
dd„ Zd	S )
ÚAppsfuelAuthzAppsfuel OAuth mechanismz*http://app.appsfuel.com/content/permissionz,https://api.appsfuel.com/v1/live/oauth/tokenz%https://api.appsfuel.com/v1/live/userÚAPPSFUEL_CLIENT_IDÚAPPSFUEL_CLIENT_SECRETc                 O   s(   d|i}| j d t|ƒ }t t|ƒ¡S )zLoads user data from serviceÚaccess_tokenú?)ÚUSER_URLr   ÚjsonÚloadr   )r
   r    ÚargsÚkwargsÚparamsÚurlr	   r	   r   Ú	user_data,   s   zAppsfuelAuth.user_dataN)r   r   r   Ú__doc__r   ÚAUTH_BACKENDÚAUTHORIZATION_URLÚACCESS_TOKEN_URLr"   ÚSETTINGS_KEY_NAMEÚSETTINGS_SECRET_NAMEr)   r	   r	   r	   r   r   #   s    r   c                   @   s   e Zd ZdZdS )ÚAppsfuelSandboxBackendúappsfuel-sandboxN)r   r   r   r   r	   r	   r	   r   r0   3   s    r0   c                   @   s   e Zd ZeZdZdZdZdS )ÚAppsfuelSandboxAuthz*https://api.appsfuel.com/v1/sandbox/choosez/https://api.appsfuel.com/v1/sandbox/oauth/tokenz(https://api.appsfuel.com/v1/sandbox/userN)r   r   r   r0   r+   r,   r-   r"   r	   r	   r	   r   r2   7   s
    r2   )r   r1   )r*   r#   Úurllibr   Úsocial_auth.backendsr   r   Úsocial_auth.utilsr   r   r   r0   r2   ÚBACKENDSr	   r	   r	   r   Ú<module>   s    
	
þ