mirror of
https://github.com/EZ-Api/ez-api.git
synced 2026-01-13 17:47:51 +00:00
feat(api): add /auth/whoami endpoint and build automation
This commit is contained in:
25
docs/api.md
25
docs/api.md
@@ -17,8 +17,30 @@
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **Admin** | `Authorization: Bearer <admin_token>` | 环境变量 `EZ_ADMIN_TOKEN` | 全局管理权限,可管理所有租户、供应商和模型。 |
|
||||
| **Master** | `Authorization: Bearer <master_key>` | 创建 Master 时返回 | 租户级权限,仅能管理所属的子 Key、查看自身统计和日志。 |
|
||||
| **Key** | `Authorization: Bearer <child_key>` | Master 或 Admin 签发 | 用于调用 AI API,可通过 `/auth/whoami` 查询身份信息。 |
|
||||
| **Internal** | `X-Internal-Token: <token>` | 环境变量 `EZ_INTERNAL_STATS_TOKEN` | 内部组件(如 Data Plane)同步指标使用。 |
|
||||
|
||||
### 1.4 身份识别接口
|
||||
使用 `GET /auth/whoami` 可根据 Authorization header 中的 Token 识别当前身份类型:
|
||||
|
||||
| Token 类型 | 返回 `type` | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| Admin Token | `"admin"` | 进入管理员面板 |
|
||||
| Master Key | `"master"` | 进入租户自服务面板 |
|
||||
| Child Key | `"key"` | 显示 Key 信息页,包含 `issued_by` 字段标识签发者 |
|
||||
|
||||
**示例响应**:
|
||||
```json
|
||||
// Admin Token
|
||||
{"type": "admin", "role": "admin"}
|
||||
|
||||
// Master Key
|
||||
{"type": "master", "id": 1, "name": "研发团队", "group": "default", ...}
|
||||
|
||||
// Child Key
|
||||
{"type": "key", "id": 5, "master_id": 1, "issued_by": "master", ...}
|
||||
```
|
||||
|
||||
### 1.3 通用约定
|
||||
- **分页处理**:
|
||||
- 管理端列表 (`GET /admin/*`):使用 `page` (从 1 开始) 和 `limit` (默认 50,最大 200)。
|
||||
@@ -106,6 +128,9 @@ graph TD
|
||||
|
||||
## 4. API 模块概览
|
||||
|
||||
### 4.0 公开接口 (Auth API) - 无需中间件
|
||||
- **身份识别**:`GET /auth/whoami` - 根据 Token 返回身份类型和详细信息。
|
||||
|
||||
### 4.1 管理端 (Admin API) - 需 Admin Token
|
||||
- **租户管理**:创建 Master、签发子 Key、实时 QPS 监控、冻结/解冻。
|
||||
- **上游管理**:ProviderGroup + APIKey 的 CRUD 与批量操作。
|
||||
|
||||
Reference in New Issue
Block a user