Spaces:
Sleeping
Sleeping
| # Token 管理 API 文档 | |
| ## 概述 | |
| 提供对本地 Token 凭证的完整管理功能,支持增删改查和热重载。所有操作都会自动更新内存中的 Token 池。 | |
| ## 认证 | |
| 所有 API 请求需要在请求头中包含 API Key: | |
| ``` | |
| Authorization: Bearer sk-text // 配置内文件配置 | |
| ``` | |
| ## 接口列表 | |
| ### 1. 获取 Token 列表 | |
| **请求** | |
| ```bash | |
| GET /v1/tokens | |
| ``` | |
| **响应** | |
| ```json | |
| { | |
| "success": true, | |
| "data": [ | |
| { | |
| "refresh_token": "1//xxx", | |
| "access_token_suffix": "...abc12345", | |
| "expires_in": 3599, | |
| "timestamp": 1234567890000, | |
| "enable": true, | |
| "projectId": "project-123" | |
| } | |
| ] | |
| } | |
| ``` | |
| ### 2. 添加新 Token | |
| **请求** | |
| ```bash | |
| POST /v1/tokens | |
| Content-Type: application/json | |
| { | |
| "access_token": "ya29.xxx", | |
| "refresh_token": "1//xxx", | |
| "expires_in": 3599 | |
| } | |
| ``` | |
| **响应** | |
| ```json | |
| { | |
| "success": true, | |
| "message": "Token添加成功" | |
| } | |
| ``` | |
| ### 3. 更新 Token | |
| **请求** | |
| ```bash | |
| PUT /v1/tokens/{refresh_token} | |
| Content-Type: application/json | |
| { | |
| "enable": false, | |
| "access_token": "new_token" | |
| } | |
| ``` | |
| **响应** | |
| ```json | |
| { | |
| "success": true, | |
| "message": "Token更新成功" | |
| } | |
| ``` | |
| ### 4. 删除 Token | |
| **请求** | |
| ```bash | |
| DELETE /v1/tokens/{refresh_token} | |
| ``` | |
| **响应** | |
| ```json | |
| { | |
| "success": true, | |
| "message": "Token删除成功" | |
| } | |
| ``` | |
| ### 5. 热重载 Token | |
| **请求** | |
| ```bash | |
| POST /v1/tokens/reload | |
| ``` | |
| **响应** | |
| ```json | |
| { | |
| "success": true, | |
| "message": "Token已热重载" | |
| } | |
| ``` | |
| ## 使用示例 | |
| ### 查看当前 Token 状态 | |
| ```bash | |
| curl http://localhost:8045/v1/tokens \ | |
| -H "Authorization: Bearer sk-text" | |
| ``` | |
| ### 添加新账号 | |
| ```bash | |
| curl -X POST http://localhost:8045/v1/tokens \ | |
| -H "Authorization: Bearer sk-text" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{ | |
| "access_token": "ya29.a0ARrdaM...", | |
| "refresh_token": "1//0GWI4...", | |
| "expires_in": 3599 | |
| }' | |
| ``` | |
| ### 禁用某个账号 | |
| ```bash | |
| curl -X PUT http://localhost:8045/v1/tokens/1//0GWI4... \ | |
| -H "Authorization: Bearer sk-text" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"enable": false}' | |
| ``` | |
| ### 删除账号 | |
| ```bash | |
| curl -X DELETE http://localhost:8045/v1/tokens/1//0GWI4... \ | |
| -H "Authorization: Bearer sk-text" | |
| ``` | |
| ### 重新加载配置 | |
| ```bash | |
| curl -X POST http://localhost:8045/v1/tokens/reload \ | |
| -H "Authorization: Bearer sk-text" | |
| ``` | |
| ## 注意事项 | |
| 1. **refresh_token** 作为唯一标识符,不可重复 | |
| 2. 所有操作会立即生效,无需重启服务 | |
| 3. 删除操作不可恢复,请谨慎使用 | |
| 4. Token 过期会自动刷新,无需手动维护 | |
| 5. 禁用的 Token 不会参与轮换,但仍保存在文件中 | |
| ## 错误码 | |
| - `400` - 请求参数错误 | |
| - `401` - API Key 验证失败 | |
| - `500` - 服务器内部错误 | |
| ## 安全建议 | |
| - 定期备份 `data/accounts.json` 文件 | |
| - 不要在日志中暴露完整的 Token 信息 | |
| - 建议使用 HTTPS 部署生产环境 |