CasperSecurity

Current Path : /lib/python3/dist-packages/jwt/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/jwt/__pycache__/api_jwt.cpython-310.pyc

o

K�ja��@s�ddlZddlmZddlmZmZddlmZmZmZddl	m
Z
mZmZm
Z
mZmZddlmZddlmZmZmZmZmZmZmZGd	d
�d
�Ze�ZejZejZejZdS)�N)�timegm)�Iterable�Mapping)�datetime�	timedelta�timezone)�Any�Dict�List�Optional�Type�Union�)�api_jws)�DecodeError�ExpiredSignatureError�ImmatureSignatureError�InvalidAudienceError�InvalidIssuedAtError�InvalidIssuerError�MissingRequiredClaimErrorc
@s eZdZd&dd�Zedeeeee	efffdd��Z
			d'deeefd	ed
eedeedee
ejdefd
d�Z			d(ded	ede	ededeeeff
dd�Z			d(ded	ede	ededeeeff
dd�Z	d)dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�ZdS)*�PyJWTNcCs"|duri}i|���|�|_dS�N)�_get_default_options�options)�selfr�r�-/usr/lib/python3/dist-packages/jwt/api_jwt.py�__init__szPyJWT.__init__�returncCsddddddgd�S)NT)�verify_signature�
verify_exp�
verify_nbf�
verify_iat�
verify_aud�
verify_iss�requirerrrrrrs�zPyJWT._get_default_options�HS256�payload�key�	algorithm�headers�json_encodercCspt|t�s	td��|��}dD]}t|�|�t�r#t||���||<qtj	|d|d��
d�}t�
|||||�S)NzJExpecting a mapping object, as JWT only supports JSON objects as payloads.)�exp�iat�nbf)�,�:)�
separators�clszutf-8)�
isinstancer�	TypeError�copy�getrr�utctimetuple�json�dumps�encoder)rr(r)r*r+r,�
time_claim�json_payloadrrrr;%s
	����zPyJWT.encode��jwt�
algorithmsrc

Ks|dur	ddi}n|�dd�|ds1|�dd�|�dd�|�dd�|�dd�|�dd�|dr;|s;td	��tj|f|||d
�|��}z	t�|d�}Wntyc}ztd|��d}~wwt|t�smtd
��i|j	�|�}	|j
||	fi|��||d<|S)Nr Tr!Fr"r#r$r%z\It is required that you pass in a value for the "algorithms" argument when calling decode().)r)r@rr(zInvalid payload string: %sz-Invalid payload string: must be a json object)�
setdefaultrr�decode_completer9�loads�
ValueErrorr4�dictr�_validate_claims)
rr?r)r@r�kwargs�decodedr(�e�merged_optionsrrrrBAsD
������
zPyJWT.decode_completecKs |j||||fi|��}|dS)Nr()rB)rr?r)r@rrGrHrrr�decodeoszPyJWT.decodercKs�t|t�r	|��}t|tttd�tf�std��|�||�t	t
jtj
d����}d|vr8|dr8|�|||�d|vrG|drG|�|||�d|vrV|drV|�|||�|d	r`|�||�|d
rl|�||�dSdS)Nz,audience must be a string, iterable, or None)�tzr.r#r/r"r-r!r%r$)r4r�
total_seconds�bytes�str�typerr5�_validate_required_claimsrr�nowr�utcr8�
_validate_iat�
_validate_nbf�
_validate_exp�
_validate_iss�
_validate_aud)rr(r�audience�issuer�leewayrGrRrrrrFzs"
�zPyJWT._validate_claimscCs(|dD]
}|�|�durt|��qdS)Nr&)r7r)rr(r�claimrrrrQ�s
��zPyJWT._validate_required_claimscCs*z	t|d�WdStytd��w)Nr.z)Issued At claim (iat) must be an integer.)�intrDr)rr(rRr[rrrrT�s
�zPyJWT._validate_iatcCs@zt|d�}Wntytd��w|||krtd��dS)Nr/z*Not Before claim (nbf) must be an integer.z The token is not yet valid (nbf))r]rDrr)rr(rRr[r/rrrrU����zPyJWT._validate_nbfcCs@zt|d�}Wntytd��w|||krtd��dS)Nr-z/Expiration Time claim (exp) must be an integer.zSignature has expired)r]rDrr)rr(rRr[r-rrrrV�r^zPyJWT._validate_expcs�|durd|vs|dsdStd��d|vs|dstd��|d�t�t�r*�g�t�t�s3td��tdd��D��r@td��t|t�rH|g}t�fdd�|D��rWtd��dS)N�audzInvalid audiencezInvalid claim format in tokencss�|]	}t|t�VqdSr)r4rO)�.0�crrr�	<genexpr>�s�z&PyJWT._validate_aud.<locals>.<genexpr>c3s�|]}|�vVqdSrr)r`r_��audience_claimsrrrb�s�)rrr4rO�list�any�all)rr(rYrrcrrX�s$


�zPyJWT._validate_audcCs4|durdSd|vrtd��|d|krtd��dS)N�isszInvalid issuer)rr)rr(rZrrrrW�s�zPyJWT._validate_issr)r'NN)r>NN)NNr)�__name__�
__module__�__qualname__r�staticmethodr	rOr
�boolr
rrrrr9�JSONEncoderr;rBrKrFrQrTrUrVrXrWrrrrrsp
$�
�����
������

�1�����

�
�		r)r9�calendarr�collections.abcrrrrr�typingrr	r
rrr
r>r�
exceptionsrrrrrrrr�_jwt_global_objr;rBrKrrrr�<module>s $H

Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY