Spaces:
Sleeping
Sleeping
File size: 2,881 Bytes
97ec0e5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# 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 部署生产环境 |