Format: application/x-python-code
⬇ Download File (2.3 KB)
   1  o
   2  
   3  G'h�@sTddlZddlmZddlmZddlmZddlmZddlmZddlm	Z	ddlm
   4  Z
   5  dd	lmZdd
   6  lmZddlm
   7  Z
   8  ddlZddlmZdd
   9  lmZddlmZddlmZdede
  10  ee
  11  efdededededede	dededeededededefdd �Zd!ed"ede
  12  ee
  13  efd#ed$ededed%eded&edefd'd(�ZdS))�N)�datetime)�	timedelta)�timezone)�compare_digest)�JSONEncoder)�Any)�Iterable)�List)�Type)�Union)�	CSRFError)�JWTDecodeError)�ExpiresDelta)�Fresh�	algorithm�audience�claim_overrides�csrf�
  14  expires_delta�fresh�header_overrides�identity�identity_claim_key�issuer�json_encoder�secret�
  15  token_type�nbf�returnc
  16  Cs�t�tj�}t|t�rt�||�}d|d|dtt�	��d|||i}|
  17  r(||d<|r2tt�	��|d<|r8||d<|	r>|	|d<|rF|||d	<|rM|�
  18  |�tj||||
  19  |d
  20  �S)NrZiat�jti�typerrZaudZiss�exp)r�headers)
  21  r�nowr�utc�
  22  isinstancer�	timestamp�str�uuid�uuid4�update�jwt�encode)rrrrrrrrrrrrrrr#Z
  23  token_data�r-�OC:\Users\shubh\Videos\agent\nova\Lib\site-packages\flask_jwt_extended/tokens.py�_encode_jwts8
  24  �
  25  �r/�
  26  algorithms�
  27  allow_expired�
  28  csrf_value�
  29  encoded_token�leeway�
  30  verify_audc
  31  	Cs�d|	i}
  32  |r
  33  d|
  34  d<tj|||||||
  35  d�}||vr!td�|���d|vr)d|d<d|vr1d|d<d	|vr9d|d	<|rNd
  36  |vrCtd��t|d
  37  |�sNtd��|S)
  38  Nr5FZ
  39  verify_exp)r0rrr4�optionszMissing claim: {}r �accessrrrzMissing claim: csrfz&CSRF double submit tokens do not match)r+�decoder
  40  �formatrr)r0r1rr2r3rrr4rr5r6Z
  41  decoded_tokenr-r-r.�_decode_jwtMs4�r:)r(rrr�hmacr�jsonr�typingrrr	r
  42  rr+Zflask_jwt_extended.exceptionsrr
  43  Zflask_jwt_extended.typingrrr'�dict�boolr/�intr:r-r-r-r.�<module>s���������	�
  44  ���
  45  ��
  46  �8��������	�
  47  ��