MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/jwt/__pycache__/api_jwt.cpython-37.opt-1.pyc
B

�b�[��@s�ddlZddlZddlmZddlmZmZy ddlmZmZm	Z	m
Z
mZWnek
r`YnXddl
mZddlmZmZddlmZmZmZdd	lmZmZmZmZmZmZmZdd
lmZGdd�de�Z e �Z!e!j"Z"e!j#Z#e!j$Z$e!j%Z%e!j&Z&dS)
�N)�timegm)�datetime�	timedelta)�Callable�Dict�List�Optional�Union�)�PyJWS)�	Algorithm�get_default_algorithms)�Iterable�Mapping�string_types)�DecodeError�ExpiredSignatureError�ImmatureSignatureError�InvalidAudienceError�InvalidIssuedAtError�InvalidIssuerError�MissingRequiredClaimError)�
merge_dictcsveZdZdZedd��Zd�fdd�	Zd�fd
d�	Zdd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Z�ZS)�PyJWTZJWTc
Csdddddddddd�	S)NTF)	�verify_signature�
verify_exp�
verify_nbf�
verify_iat�
verify_aud�
verify_iss�require_exp�require_iat�require_nbf�r#r#r#�</opt/alt/python37/lib/python3.7/site-packages/jwt/api_jwt.py�_get_default_optionsszPyJWT._get_default_options�HS256Ncsrt|t�std��x0dD](}t|�|�t�rt||���||<qWtj|d|d��	d�}t
t|��	|||||�S)NzJExpecting a mapping object, as JWT only supports JSON objects as payloads.)�exp�iat�nbf)�,�:)Z
separators�clszutf-8)�
isinstancer�	TypeError�getrr�utctimetuple�json�dumps�encode�superr)�self�payload�key�	algorithmZheadersZjson_encoderZ
time_claimZjson_payload)�	__class__r#r$r3(s


zPyJWT.encode�Tc
s�|r|st�dt�|�|�\}}}}|dkr8d|i}n|�d|�tt|�j|f|||d�|��}	yt�	|	�d��}Wn.t
k
r�}
ztd|
��Wdd}
~
XYnXt|t
�s�td��|r�t|j|�}|j||f|�|S)Nz�It is strongly recommended that you pass in a value for the "algorithms" argument when calling decode(). This argument will be mandatory in a future version.r)r7�
algorithms�optionszutf-8zInvalid payload string: %sz-Invalid payload string: must be a json object)�warnings�warn�DeprecationWarning�_load�
setdefaultr4r�decoder1�loads�
ValueErrorrr-rrr<�_validate_claims)r5Zjwtr7Zverifyr;r<�kwargsr6�_Zdecoded�eZmerged_options)r9r#r$rBDs(


zPyJWT.decodercKs�d|kr$|�dd�|d<t�dt�t|t�r6|��}t|ttd�t	f�sRt
d��|�||�tt
�����}d|kr�|�d�r�|�|||�d|kr�|�d	�r�|�|||�d
|kr�|�d�r�|�|||�|�d�r�|�||�|�d�r�|�||�dS)
NZverify_expirationTrzXThe verify_expiration parameter is deprecated. Please use verify_exp in options instead.z,audience must be a string, iterable, or Noner(rr)rr'rr)r/r=r>r?r-rZ
total_secondsr�typerr.�_validate_required_claimsrrZutcnowr0�
_validate_iat�
_validate_nbf�
_validate_exp�
_validate_iss�
_validate_aud)r5r6r<�audience�issuer�leewayrF�nowr#r#r$rEls(


zPyJWT._validate_claimscCsd|�d�r |�d�dkr td��|�d�r@|�d�dkr@td��|�d�r`|�d�dkr`td��dS)Nr r'r!r(r"r))r/r)r5r6r<r#r#r$rJ�szPyJWT._validate_required_claimscCs2yt|d�Wntk
r,td��YnXdS)Nr(z)Issued At claim (iat) must be an integer.)�intrDr)r5r6rSrRr#r#r$rK�szPyJWT._validate_iatcCsFyt|d�}Wntk
r,td��YnX|||krBtd��dS)Nr)z*Not Before claim (nbf) must be an integer.z The token is not yet valid (nbf))rTrDrr)r5r6rSrRr)r#r#r$rL�szPyJWT._validate_nbfcCsFyt|d�}Wntk
r,td��YnX|||krBtd��dS)Nr'z/Expiration Time claim (exp) must be an integer.zSignature has expired)rTrDrr)r5r6rSrRr'r#r#r$rM�szPyJWT._validate_expcs�|dkrd|krdS|dk	r,d|kr,td��|dkrDd|krDtd��|d�t�t�r\�g�t�t�sntd��tdd��D��r�td��t|t�r�|g}t�fdd�|D��s�td��dS)N�audzInvalid audiencezInvalid claim format in tokencss|]}t|t�VqdS)N)r-r)�.0�cr#r#r$�	<genexpr>�sz&PyJWT._validate_aud.<locals>.<genexpr>c3s|]}|�kVqdS)Nr#)rVrU)�audience_claimsr#r$rX�s)rrr-r�list�any)r5r6rPr#)rYr$rO�s"


zPyJWT._validate_audcCs4|dkrdSd|krtd��|d|kr0td��dS)NZisszInvalid issuer)rr)r5r6rQr#r#r$rN�szPyJWT._validate_iss)r&NN)r:TNN)NNr)�__name__�
__module__�__qualname__Zheader_type�staticmethodr%r3rBrErJrKrLrMrOrN�
__classcell__r#r#)r9r$rs"#
!
	
r)'r1r=Zcalendarrrr�typingrrrrr	�ImportErrorZapi_jwsrr;rr
�compatrrr�
exceptionsrrrrrrrZutilsrrZ_jwt_global_objr3rBZregister_algorithmZunregister_algorithmZget_unverified_headerr#r#r#r$�<module>s( $D