Skip to main content

认证模块接口文档(Sprint 1)

版本:v1.0 | 更新:2026-03-12 | 基于 spec v0.2.4

通用约定

Base URL

https://admin.clawzone.ai/api/v1

认证方式

Authorization: Bearer ACCESS_TOKEN

响应格式

成功时 code 为 0,data 包含业务数据。失败时 code 为错误码,message 为描述。

错误码

code含义HTTP Status
0成功200
10001未登录或 Token 无效401
10002Token 已过期401
10003会话已失效401
10004权限不足403
10005用户名或密码错误200
10006账号已禁用200
10007旧密码错误 / 密码强度不足200
10008参数校验失败200

1. 登录

POST /api/v1/auth/login

认证: 不需要

请求参数:

字段类型必填说明
usernamestring用户名
passwordstring密码(明文)

成功响应: code=0,data 包含 access_token(JWT,有效期 2 小时)

JWT Payload 包含: sid(session UUID)、role、sub(user_id)、exp、iat

失败: 10005(密码错误)/ 10006(账号禁用)/ 10008(参数缺失)


2. 获取当前用户信息

GET /api/v1/auth/me

认证: Bearer Token

成功响应字段:

字段类型说明
user_idint用户 ID
usernamestring用户名
nicknamestring昵称
role_typestring角色(superadmin/admin/user)
statusint1=正常,0=禁用

失败: 10001(未登录)/ 10002(过期)/ 10003(会话失效)


3. 登出

POST /api/v1/auth/logout

认证: Bearer Token

请求: 空 JSON 对象

成功响应: code=0,message="已登出"

登出后 Redis session 删除,token 立即失效。


4. 修改密码

PUT /api/v1/users/me/password

认证: Bearer Token

请求参数:

字段类型必填说明
old_passwordstring当前密码
new_passwordstring新密码(≥8位,含大小写+数字)

成功响应: code=0,message="密码修改成功"

修改后 auth_version +1,所有其他 session 立即失效。

失败: 10005(旧密码错误)/ 10007(密码强度不足)


5. Permission Middleware

非接口,影响所有受保护路由:

  • 链路:sys_user → sys_user_group → sys_group_permission → sys_permission
  • Redis 缓存 key:perm:USER_ID(TTL 5min)
  • auth_version 比对:不一致则踢出
  • superadmin 跳过权限检查