File "api_jwt.cpython-37.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python37/lib/python3.7/site-packages/jwt/__pycache__/api_jwt.cpython-37.pyc
File size: 5.65 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

B

E`@sddlZddlmZddlmZmZddlmZmZddlm	Z	m
Z
mZmZm
Z
mZddlmZddlmZmZmZmZmZmZmZGd	d
d
ZeZejZejZejZdS)N)timegm)IterableMapping)datetime	timedelta)AnyDictListOptionalTypeUnion)api_jws)DecodeErrorExpiredSignatureErrorImmatureSignatureErrorInvalidAudienceErrorInvalidIssuedAtErrorInvalidIssuerErrorMissingRequiredClaimErrorc@seZdZd ddZeeeeee	effdddZ
d!eeefeeeeee
ejedd	d
Zd"eee	eeeeefdd
dZd#eee	eeeeefdddZd$ddZddZddZddZddZddZddZdS)%PyJWTNcCs|dkri}|||_dS)N)_get_default_optionsoptions)selfrr</opt/alt/python37/lib/python3.7/site-packages/jwt/api_jwt.py__init__szPyJWT.__init__)returncCsddddddgdS)NT)verify_signature
verify_exp
verify_nbf
verify_iat
verify_aud
verify_issrequirerrrrrrszPyJWT._get_default_optionsHS256)payloadkey	algorithmheadersjson_encoderrcCstt|tstd|}x0dD](}t||tr t||||<q Wtj	|d|d
d}t
|||||S)NzJExpecting a mapping object, as JWT only supports JSON objects as payloads.)expiatnbf),:)
separatorsclszutf-8)
isinstancer	TypeErrorcopygetrrutctimetuplejsondumpsencoder)rr&r'r(r)r*Z
time_claimZjson_payloadrrrr9%s	

zPyJWT.encode)jwtr'
algorithmsrrc

Ks
|dkrddi}n|dd|dsb|dd|dd|dd|dd|dd|drv|svtd	tj|f|||d
|}yt|d}Wn.tk
r}ztd|Wdd}~XYnXt|tstd
|j	|}	|j
||	f|||d<|S)NrTrFr 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)
setdefaultrrdecode_completer7loads
ValueErrorr2dictr_validate_claims)
rr;r'r<rkwargsdecodedr&eZmerged_optionsrrrr>As8


zPyJWT.decode_completecKs|j||||f|}|dS)Nr&)r>)rr;r'r<rrCrDrrrdecodeoszPyJWT.decodercKst|tr|}t|tttdtfs0td|||t	t
}d|krj|drj|
|||d|kr|dr||||d|kr|dr|||||dr||||d	r|||dS)
Nz,audience must be a string, iterable, or Noner,r!r-r r+rr#r")r2r
total_secondsbytesstrtyperr3_validate_required_claimsrrutcnowr6
_validate_iat
_validate_nbf
_validate_exp
_validate_iss
_validate_aud)rr&raudienceissuerleewayrCnowrrrrBzs 
zPyJWT._validate_claimscCs,x&|dD]}||dkr
t|q
WdS)Nr$)r5r)rr&rZclaimrrrrKszPyJWT._validate_required_claimscCs2yt|dWntk
r,tdYnXdS)Nr,z)Issued At claim (iat) must be an integer.)intr@r)rr&rUrTrrrrMszPyJWT._validate_iatcCsFyt|d}Wntk
r,tdYnX|||krBtddS)Nr-z*Not Before claim (nbf) must be an integer.z The token is not yet valid (nbf))rVr@rr)rr&rUrTr-rrrrNszPyJWT._validate_nbfcCsFyt|d}Wntk
r,tdYnX|||krBtddS)Nr+z/Expiration Time claim (exp) must be an integer.zSignature has expired)rVr@rr)rr&rUrTr+rrrrOszPyJWT._validate_expcs|dkrd|krdS|dk	r,d|kr,td|dkrDd|krDtd|dttr\gttsntdtddDrtdt|tr|g}tfdd|DstddS)NaudzInvalid audiencezInvalid claim format in tokencss|]}t|tVqdS)N)r2rI).0crrr	<genexpr>sz&PyJWT._validate_aud.<locals>.<genexpr>c3s|]}|kVqdS)Nr)rXrW)audience_claimsrrrZs)rrr2rIlistany)rr&rRr)r[rrQs"


zPyJWT._validate_audcCs4|dkrdSd|krtd|d|kr0tddS)NZisszInvalid issuer)rr)rr&rSrrrrPszPyJWT._validate_iss)N)r%NN)r:NN)r:NN)NNr)__name__
__module____qualname__rstaticmethodrrIrboolr	rrr
rr7JSONEncoderr9r>rFrBrKrMrNrOrQrPrrrrrs,
$"*
		r)r7calendarrcollections.abcrrrrtypingrrr	r
rrr:r
exceptionsrrrrrrrrZ_jwt_global_objr9r>rFrrrr<module>s $I