docs: 修正 verify_token 为简单随机字符串非JWT
verify_token 使用 32 位随机字符串(vtf_xxx)而非 JWT, 避免签名验证的复杂性,直接 Redis 比对即可。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
72ea3f4305
commit
95d8c75500
@ -243,25 +243,26 @@ Content-Type: application/json
|
||||
"message": "验证成功",
|
||||
"data": {
|
||||
"verified": true,
|
||||
"verify_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
|
||||
"verify_token": "vtf_abc123xyz789...",
|
||||
"expires_in": 300
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**说明**:
|
||||
- `verify_token` 用于后续注册接口的认证,后端在 Redis 中记录 `verify:register:{mobile}` = verify_token
|
||||
- `verify_token` 是长度为 32 位的随机字符串(格式:`vtf_` + 29 位随机字符),不是 JWT
|
||||
- 存储在 Redis 中:`verify:register:{mobile}` → `vtf_abc123xyz789...`,TTL = 300 秒
|
||||
- 注册接口需携带此 token,验证通过后才处理注册请求
|
||||
- `expires_in` = 300 秒(5 分钟),超时需重新验证
|
||||
- 验证成功后删除该记录,防止重复使用
|
||||
|
||||
**注册接口携带 token**:
|
||||
```
|
||||
POST /api/v1/auth/register
|
||||
Authorization: Bearer {verify_token}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"mobile": "13800138000",
|
||||
"verify_token": "vtf_abc123xyz789...",
|
||||
"password": "xxx",
|
||||
"nickname": "xxx",
|
||||
"star_id": 1
|
||||
@ -269,8 +270,8 @@ Content-Type: application/json
|
||||
```
|
||||
|
||||
后端逻辑:
|
||||
1. 从 verify_token 中解析出 mobile
|
||||
2. 检查 Redis 中 `verify:register:{mobile}` 是否与 token 匹配
|
||||
1. 根据 mobile 从 Redis 中获取 `verify:register:{mobile}` 的值
|
||||
2. 与请求中的 verify_token 比对,不一致则拒绝
|
||||
3. 验证通过后删除该记录,防止重复使用
|
||||
|
||||
---
|
||||
|
||||
Loading…
Reference in New Issue
Block a user