403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.23.128.245
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3.6/site-packages/oauthlib/oauth2/rfc6749/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.6/site-packages/oauthlib/oauth2/rfc6749/__pycache__/tokens.cpython-36.pyc
3

,�[M&�@s�dZddlmZmZddlZddlZddlmZddlm	Z	ddl
mZmZm
Z
ddlmZydd	lmZWn ek
r�dd	lmZYnXGd
d�de�Zddd�Zdd�Zd dd�Zd!dd�Zd"dd�Zdd�ZGdd�de�ZGdd�de�ZdS)#z�
oauthlib.oauth2.rfc6749.tokens
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This module contains methods for adding two types of access tokens to requests.

- Bearer https://tools.ietf.org/html/rfc6750
- MAC https://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-01
�)�absolute_import�unicode_literalsN)�
b2a_base64)�common)�add_params_to_qs�add_params_to_uri�unicode_type�)�utils)�urlparsecsreZdZd�fdd�	Zedd��Zedd��Zedd	��Zed
d��Zedd
��Z	edd��Z
edd��Z�ZS)�OAuth2TokenNcsrtt|�j|�d|_d|kr:|dr:ttj|d��|_|dk	rfttj|��|_|jdkrn|j|_n|j|_dS)N�scope)�superr�__init__�
_new_scope�setr
Z
scope_to_list�
_old_scope)�selfZparams�	old_scope)�	__class__��/usr/lib/python3.6/tokens.pyrs

zOAuth2Token.__init__cCs|j|jkS)N)rr)rrrr�
scope_changed-szOAuth2Token.scope_changedcCstj|j�S)N)r
�
list_to_scoper)rrrrr1szOAuth2Token.old_scopecCs
t|j�S)N)�listr)rrrr�
old_scopes5szOAuth2Token.old_scopescCstj|j�S)N)r
rr)rrrrr
9szOAuth2Token.scopecCs
t|j�S)N)rr)rrrr�scopes=szOAuth2Token.scopescCst|j|j�S)N)rrr)rrrr�missing_scopesAszOAuth2Token.missing_scopescCst|j|j�S)N)rrr)rrrr�additional_scopesEszOAuth2Token.additional_scopes)N)
�__name__�
__module__�__qualname__r�propertyrrrr
rrr�
__classcell__rr)rrrsr��
hmac-sha-1cCs:|j�}tj|�\}}|j�dkr*tj}
n|j�dkr>tj}
ntd��|
dkrj|pfdjtj	|	�t
j��}nt
j�}t
j�}t
|�\}}}}}}|r�|d|}n|}|dk	r�|
dkr�|jd�}t|
|�j��dd�jd�}nd
}g}|
dkr�|j|�n|j|�|j|�|j|j��|j|�|j|�|j|�|
dk�rN|j|�|j|�pZd
�dj|�d}t|t��r�|jd�}tj||jd�|
�}t|j��dd�jd�}g}|jd|�|
dk�r�|jd
|�|jd|�|�r�|jd|�|�r|jd|�|jd|�|�p&i}dj|�|d<|S)aAdd an `MAC Access Authentication`_ signature to headers.

    Unlike OAuth 1, this HMAC signature does not require inclusion of the
    request payload/body, neither does it use a combination of client_secret
    and token_secret but rather a mac_key provided together with the access
    token.

    Currently two algorithms are supported, "hmac-sha-1" and "hmac-sha-256",
    `extension algorithms`_ are not supported.

    Example MAC Authorization header, linebreaks added for clarity

    Authorization: MAC id="h480djs93hd8",
                       nonce="1336363200:dj83hs9s",
                       mac="bhCQXTVyfj5cmA9uKkPFx1zeOXM="

    .. _`MAC Access Authentication`: https://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-01
    .. _`extension algorithms`: https://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-01#section-7.1

    :param uri: Request URI.
    :param headers: Request headers as a dictionary.
    :param http_method: HTTP Request method.
    :param key: MAC given provided by token endpoint.
    :param hash_algorithm: HMAC algorithm provided by token endpoint.
    :param issue_time: Time when the MAC credentials were issued (datetime).
    :param draft: MAC authentication specification version.
    :return: headers dictionary with the authorization field added.
    z
hmac-sha-1zhmac-sha-256zunknown hash algorithmrz{0}:{1}�?Nzutf-8r	r$�
zMAC id="%s"zts="%s"z
nonce="%s"z
bodyhash="%s"zext="%s"zmac="%s"z, �
Authorization���r))�upperr
Z
host_from_uri�lower�hashlibZsha1Zsha256�
ValueError�formatZgenerate_agerZgenerate_nonceZgenerate_timestampr�encoderZdigest�decode�append�join�
isinstancer�hmac�new)�token�uri�keyZhttp_methodZnonce�headers�bodyZextZhash_algorithmZ
issue_timeZdraft�hostZport�hZtsZschZnet�pathZparZqueryZfraZrequest_uriZbodyhash�baseZbase_stringZsign�headerrrr�prepare_mac_headerJsd$
 









r@cCst|d|fg�S)z�Add a `Bearer Token`_ to the request URI.
    Not recommended, use only if client can't use authorization header or body.

    http://www.example.com/path?access_token=h480djs93hd8

    .. _`Bearer Token`: https://tools.ietf.org/html/rfc6750
    �access_token)r)r6r7rrr�prepare_bearer_uri�srBcCs|pi}d||d<|S)z�Add a `Bearer Token`_ to the request URI.
    Recommended method of passing bearer tokens.

    Authorization: Bearer h480djs93hd8

    .. _`Bearer Token`: https://tools.ietf.org/html/rfc6750
    z	Bearer %sr(r)r6r9rrr�prepare_bearer_headers�srCcCst|d|fg�S)z�Add a `Bearer Token`_ to the request body.

    access_token=h480djs93hd8

    .. _`Bearer Token`: https://tools.ietf.org/html/rfc6750
    rA)r)r6r:rrr�prepare_bearer_body�srDFcCstj�S)N)rZgenerate_token)�request�
refresh_tokenrrr�random_token_generator�srGcs��fdd�}|S)Ncs�|_tj�|�S)N)ZclaimsrZgenerate_signed_token)rE)�kwargs�private_pemrr�signed_token_generator�sz6signed_token_generator.<locals>.signed_token_generatorr)rIrHrJr)rHrIrrJ�srJc@s&eZdZd	dd�Zdd�Zdd�ZdS)
�	TokenBaseFcCstd��dS)Nz&Subclasses must implement this method.)�NotImplementedError)rrErFrrr�__call__�szTokenBase.__call__cCstd��dS)Nz&Subclasses must implement this method.)rL)rrErrr�validate_request�szTokenBase.validate_requestcCstd��dS)Nz&Subclasses must implement this method.)rL)rrErrr�
estimate_type�szTokenBase.estimate_typeN)F)rr r!rMrNrOrrrrrK�s
rKc@s4eZdZdZddd�Zdd
d�Zdd
�Zdd�ZdS)�BearerToken�request_validator�token_generator�refresh_token_generator�
expires_inNcCs*||_|pt|_|p|j|_|p"d|_dS)Ni)rQrGrRrSrT)rrQrRrTrSrrrr�s
zBearerToken.__init__FTcCs�t|j�r|j|�}n|j}||_|j|�|dd�}|jdk	rNdj|j�|d<|jdk	rb|j|d<|r�|jr�|jj|�r�|j|d<n|j	|�|d<|j
|jp�i�t|�}|r�|jj
||�|S)z7Create a BearerToken, by default without refresh token.�Bearer)rArT�
token_typeN� r
�staterF)�callablerTrRrr2rXrFrQZrotate_refresh_tokenrS�updateZextra_credentialsrZsave_bearer_token)rrErFZ
save_tokenrTr6rrr�create_token�s*



zBearerToken.create_tokencCs<d}d|jkr$|jjd�dd�}n|j}|jj||j|�S)Nr(�)r9�getrArQZvalidate_bearer_tokenr)rrEr6rrrrN"s
zBearerToken.validate_requestcCs.|jjdd�jd�rdS|jdk	r&dSdSdS)Nr(r$rU�	�r)r9r]�
startswithrA)rrErrrrO+s

zBearerToken.estimate_type)rQrRrSrT)NNNN)FT)rr r!�	__slots__rr[rNrOrrrrrP�s

&	rP)NNNr$r%Nr)N)r$)F)�__doc__Z
__future__rrr,r4ZbinasciirZoauthlibrZoauthlib.commonrrrr$r
r�ImportErrorZurllib.parse�dictrr@rBrCrDrGrJ�objectrKrPrrrr�<module>	s4.
b





Youez - 2016 - github.com/yon3zu
LinuXploit