使用 jwt 生成 authInfo
时间: 2024-09-14 15:10:14 浏览: 53
JWT (JSON Web Token) 是一种轻量级的身份验证和授权协议,常用于前后端分离的应用场景中。生成 JWT 的 AuthInfo(通常称为 token),可以按照以下步骤操作:
1. **配置密钥**:
- 创建一个私钥(secret key)作为加密和解密的依据,可以存储在服务器的安全环境中。
2. **创建 payload**:
- 编码要传输的数据,通常包括用户ID(user_id)、过期时间(exp,expire time)、签发时间(iat,issued at)等信息,构成 JSON 格式。
```json
{
"sub": "user_id", // 用户标识
"name": "username",
"iat": issued_time,
"exp": expire_time
}
```
3. **添加头部信息**:
- 定义 token 的类型(如:`"alg": "HS256"` 表示使用 HMAC SHA-256 算法)和编码方式(如:`"typ": "JWT"`)。
4. **签名生成**:
- 将头部信息、payload和可选的签发者声明(optional signing claims)拼接成字符串(base64UrlEncode处理),然后使用私钥对整个字符串进行哈希加密,得到签名(signature)。
5. **构建完整的 JWT**:
- 将头部信息、payload和签名连接起来,中间由 `.` 分隔。格式通常是 `header.payload.signature`。
```plaintext
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiamFjazEiLCJpYXQiOjE2MTIzMDEyMzMsImV4cCI6MTYxMjMwNDAzM30.Gs8Qf...
```
阅读全文