关于jwt的说明不做详细叙述,详情可登录官网查看 jwt官网
特别说明
令牌过期时间为UTC时间
生成令牌
import time
import jwt
from datetime import datetime, timedelta
salt = "khfHbganlhjVRN"
payload = {
'id': 9999,
'username': '13800138001',
'exp': datetime.utcnow() + timedelta(seconds=2)
}
header = {
'alg': 'HS256',
'typ': 'jwt'
}
token = jwt.encode(payload=payload, key=salt, headers=header)
print(token)
![在这里插入图片描述](https://img-blog.csdnimg.cn/8cb9b056394f48b6af4f7c4a4d7f0ada.png)
验证令牌
import jwt
payload_ = None
msg = None
try:
payload_ = jwt.decode(token, salt, algorithms="HS256")
except jwt.exceptions.DecodeError:
msg = '认证失败'
except jwt.exceptions.ExpiredSignatureError:
msg = '签名过期'
except jwt.exceptions.InvalidAlgorithmError:
msg = '无效算法错误'
if payload_:
print(payload_)
else:
print(msg)
![在这里插入图片描述](https://img-blog.csdnimg.cn/d0da0ee72bd04deca4ae76bf940d0d16.png)