jwt 生成token并刷新
时间: 2023-07-19 20:47:14 浏览: 128
JWT Token实现方法及步骤详解
JWT(JSON Web Token)是一种用于在网络上安全传输信息的开放标准。JWT 由三个部分组成:头部、负载和签名。
要生成 JWT Token,您需要完成以下步骤:
1. 创建一个包含您的负载数据的 JSON 对象。
2. 将 JSON 对象编码为 Base64 字符串。
3. 创建一个包含头部和编码负载的字符串。
4. 用您的密钥对字符串进行签名。
下面是一个生成 JWT Token 的示例代码:
```python
import jwt
import datetime
# 设置过期时间
exp_time = datetime.datetime.utcnow() + datetime.timedelta(minutes=30)
# 负载数据
payload = {
"user_id": "123456",
"username": "example_user",
"exp": exp_time
}
# 加密密钥
secret_key = "mysecretkey"
# 生成 JWT Token
token = jwt.encode(payload, secret_key, algorithm="HS256")
# 刷新 Token
refresh_token = jwt.encode({"user_id": "123456"}, secret_key, algorithm="HS256")
# 打印 Token
print(token)
print(refresh_token)
```
在上面的代码中,我们使用 PyJWT 库生成 JWT Token。我们设置了一个过期时间为当前时间加上 30 分钟。我们还使用了一个密钥对负载进行签名,以确保 Token 不能被篡改。
要刷新 Token,您可以创建一个包含用户 ID 的简单 JSON 对象,并使用相同的密钥签名它。这将生成一个新的 Token,您可以将其发送给客户端,以使其在旧 Token 过期之前持续访问您的应用程序。
阅读全文