注意,以下JWT生成后的base64未对敏感数据加密。代码只是JWT的演示。
import jwt #pip install PyJWT
import time
# 密钥,用于签名和验证 JWT
SECRET_KEY ='123'
#生成token
def login(username):
# 假设这是用户登录验证成功后的处理
# 生成 JWT
payload = {
'username': username,
'exp': int(time.time()) + 10
}
token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
#print(token)
return token
#验证token并解析内容
def check():
token = login('xiaoming')
try:
payload = jwt.decode(token, SECRET_KEY, algorithms=['HS256'])
print(payload)
except jwt.ExpiredSignatureError:
print('Token has expired')
except jwt.InvalidTokenError:
print('Invalid token')
check()