认证管理
接口列表
| 方法 | 路径 | 说明 |
|---|---|---|
POST | /auth/login | 用户登录 |
POST | /auth/logout | 用户登出 |
POST | /auth/refresh | 刷新令牌 |
GET | /auth/tokens | 列出活跃令牌 |
DELETE | /auth/tokens/{token_id} | 撤销令牌 |
GET | /auth/tokens/{token_id} | 获取令牌信息 |
POST /auth/login
用户登录
用户登录获取访问令牌
请求体
登录请求
类型: LoginRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
password | string | 是 | 密码 示例: "admin" |
username | string | 是 | 用户名 示例: "admin" |
响应
200 - 登录成功
类型: LoginResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
access_token | string | 否 | Access Token 示例: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." |
expires_in | integer | 否 | Access Token 过期时间(秒) 示例: 604800 |
refresh_token | string | 否 | Refresh Token 示例: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." |
token_type | string | 否 | Token 类型 示例: "Bearer" |
400 - 请求数据错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
401 - 用户名或密码错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
500 - 服务器错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
内容类型
- 请求:
application/json - 响应:
application/json
POST /auth/logout
用户登出
用户登出,撤销当前访问令牌
需要认证
此接口需要 Bearer Token 认证
响应
200 - 登出成功
类型: SuccessResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
message | string | 否 | 成功信息 示例: "操作成功" |
401 - 未授权
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
500 - 服务器错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
内容类型
- 请求:
application/json - 响应:
application/json
POST /auth/refresh
刷新令牌
使用刷新令牌获取新的访问令牌
请求体
刷新令牌请求
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
refresh_token | string | 是 | 刷新令牌 示例: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." |
响应
200 - 刷新成功
类型: RefreshResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
access_token | string | 否 | |
expires_in | integer | 否 | |
refresh_token | string | 否 | |
token_type | string | 否 |
400 - 请求数据错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
401 - 刷新令牌无效
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
500 - 服务器错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
内容类型
- 请求:
application/json - 响应:
application/json
GET /auth/tokens
列出活跃令牌
获取当前用户的所有活跃令牌列表
需要认证
此接口需要 Bearer Token 认证
查询参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 否 | 令牌类型 可选值: access, refresh |
limit | integer | 否 | 每页数量 默认: 20 |
offset | integer | 否 | 偏移量 默认: 0 |
响应
200 - 令牌列表
类型: map[string]any
401 - 未授权
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
500 - 服务器错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
内容类型
- 请求:
application/json - 响应:
application/json
DELETE /auth/tokens/{token_id}
撤销令牌
撤销指定的令牌
需要认证
此接口需要 Bearer Token 认证
路径参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
token_id | string | 是 | 令牌ID |
请求体
撤销令牌请求
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
reason | string | 否 | 撤销原因 示例: "用户主动登出" |
响应
200 - 撤销成功
类型: SuccessResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
message | string | 否 | 成功信息 示例: "操作成功" |
400 - 请求数据错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
401 - 未授权
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
500 - 服务器错误
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
内容类型
- 请求:
application/json - 响应:
application/json
GET /auth/tokens/{token_id}
获取令牌信息
获取指定令牌的详细信息
需要认证
此接口需要 Bearer Token 认证
路径参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
token_id | string | 是 | 令牌ID |
响应
200 - 令牌信息
类型: TokenInfo
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
client_info | string | 否 | 客户端信息 示例: "Mozilla/5.0 AppleWebKit/605.1.15" |
created_at | string | 否 | 创建时间 示例: "2024-01-01T12:00:00Z" |
expires_at | string | 否 | 过期时间 示例: "2024-01-08T12:00:00Z" |
revoked_at | string | 否 | 撤销时间 示例: "2024-01-01T12:00:00Z" |
revoked_by | string | 否 | 撤销者 示例: "user" |
revoked_reason | string | 否 | 撤销原因 示例: "用户主动登出" |
token_id | string | 否 | 令牌 ID 示例: "abc123" |
token_type | string | 否 | 令牌类型 可选值: access, refresh 示例: "access" |
401 - 未授权
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
404 - 令牌不存在
类型: ErrorResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
detail | string | 否 | 详细错误信息(可选) 示例: "详细错误信息" |
error | string | 否 | 错误信息 示例: "操作失败" |
内容类型
- 请求:
application/json - 响应:
application/json
