登录认证
youlai-think 支持两种会话模式,通过 .env 与 config/security.php 控制:
SECURITY_SESSION_MODE=jwtSECURITY_SESSION_MODE=redis-token
默认 Header:Authorization: Bearer <token>。
认证接口
- 获取验证码:
GET /api/v1/auth/captcha - 登录:
POST /api/v1/auth/login - 刷新令牌:
POST /api/v1/auth/refresh-token - 退出登录:
DELETE /api/v1/auth/logout
登录响应示例:
json
{
"code": "00000",
"msg": "成功",
"data": {
"tokenType": "Bearer",
"accessToken": "...",
"refreshToken": "...",
"expiresIn": 7200
}
}模式说明
jwt:JWT + Redis tokenVersion + 黑名单(Redis 仍为必需依赖)redis-token:access/refresh token 存 Redis,新登录会清理旧会话
会话失效机制
tokenVersion 机制:
登录时将版本号写入 JWT,禁用用户或修改密码时递增 Redis 中的版本号:
Key: auth:user:token_version:{userId}
Value: 版本号(整数)校验逻辑:token.tokenVersion < redis.tokenVersion → Token 失效
