diff --git a/docs/api.md b/docs/api.md index c4bb44a..74bf155 100644 --- a/docs/api.md +++ b/docs/api.md @@ -8,14 +8,7 @@ ## 认证 -除健康检查和注册登录外,所有接口需通过 httpOnly Cookie 携带 JWT。登录/注册成功后,服务端通过 `Set-Cookie` 响应头写入 Token,后续请求自动携带。 - -Cookie 属性: -- `Name`: `token` -- `HttpOnly`: true -- `SameSite`: Lax -- `Path`: `/` -- `MaxAge`: 由 `GEN2D_JWT_EXPIRE` 控制(默认 7200 秒) +除健康检查和注册登录外,所有接口需认证。登录成功后,Token 在响应体 `data.token` 字段中返回,客户端需自行存储(如 localStorage)并通过 `Authorization: Bearer ` 请求头携带。 Token 过期或无效时返回: @@ -66,7 +59,7 @@ Token 过期或无效时返回: | [ ] | GET | `/api/v1/auth/me` | 获取当前用户信息 | | [ ] | PUT | `/api/v1/auth/password` | 修改密码 | -### POST /api/v1/auth/register +### POST /auth/register ```json { @@ -78,20 +71,19 @@ Token 过期或无效时返回: | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| -| `username` | string | 是 | 3-64 字符,字母数字下划线 | -| `email` | string | 是 | 邮箱地址 | -| `password` | string | 是 | 8-128 字符 | +| `username` | string | 是 | 3-32 字符 | +| `email` | string | 否 | 邮箱地址 | +| `password` | string | 是 | 6-64 字符 | -响应(Token 通过 `Set-Cookie` 响应头写入,不在 body 中返回): +响应(HTTP 状态码 201): ```json { "code": 0, "message": "ok", "data": { - "id": "user_a1B2c3D4", - "username": "player1", - "email": "player1@example.com" + "id": 1, + "username": "player1" } } ``` @@ -100,13 +92,12 @@ Token 过期或无效时返回: | 场景 | code | message | |------|------|---------| -| 用户名格式不合法(非 3-64 字符或含特殊字符) | 400 | 用户名格式不合法 | -| 密码长度不足 | 400 | 密码长度不能少于 8 位 | -| 邮箱格式不合法 | 400 | 邮箱格式不正确 | +| 用户名格式不合法(非 3-32 字符) | 400 | 参数错误 | +| 密码长度不足 | 400 | 参数错误 | +| 邮箱格式不合法 | 400 | 参数错误 | | 用户名已存在 | 409 | 用户名已被注册 | -| 邮箱已存在 | 409 | 邮箱已被注册 | -### POST /api/v1/auth/login +### POST /auth/login ```json { @@ -115,25 +106,22 @@ Token 过期或无效时返回: } ``` -支持 `username` 或 `email` 登录: - -```json -{ - "email": "player1@example.com", - "password": "s3cretP@ss" -} -``` - -响应(Token 通过 `Set-Cookie` 响应头写入,不在 body 中返回): +响应(Token 在 body 中返回): ```json { "code": 0, "message": "ok", "data": { - "id": "user_a1B2c3D4", - "username": "player1", - "email": "player1@example.com" + "token": "eyJhbGciOiJIUzI1NiIs...", + "expiresIn": 7200, + "user": { + "id": 1, + "username": "player1", + "email": "player1@example.com", + "createdAt": "2026-05-24T10:00:00Z", + "updatedAt": "2026-05-24T10:00:00Z" + } } } ```