Skip to content

Token 管理 API ​

Token 管理 API 支持对 API Token 进行创建、列出、更新和删除操作,并支持设置 Token 过期时间和自动删除策略。

基本信息 ​

  • 端点:/api/manage/apiTokens
  • 认证:管理员 Basic Auth 或 API Token(需要管理权限)
  • 内容类型:application/json

列出所有 Token ​

请求 ​

  • 方法:GET

功能说明 ​

获取所有 API Token 列表。系统会在返回前自动清理已过期且标记为自动删除的 Token。

响应示例 ​

json
{
  "tokens": [
    {
      "id": "m1abc2def3",
      "name": "上传专用",
      "token": "imgbed_GqloEaR4...",
      "owner": "admin",
      "permissions": ["upload"],
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-01T00:00:00.000Z",
      "expiresAt": "2024-07-01T00:00:00.000Z",
      "autoDelete": false
    }
  ]
}

创建 Token ​

请求 ​

  • 方法:POST

Body 参数 ​

参数名类型必需默认值说明
namestring是-Token 名称
permissionsstring[]是-权限列表,可选值:upload、delete、list、 manage
ownerstring是-Token 所有者
expiresAtstring | null否null过期时间,ISO 8601 格式,null 表示永不过期
autoDeleteboolean否false过期后是否自动删除

请求示例 ​

bash
curl -X POST "https://your.domain/api/manage/apiTokens" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
  "name": "上传专用",
  "permissions": ["upload"],
  "owner": "admin",
  "expiresAt": "2024-07-01T00:00:00.000Z",
  "autoDelete": true
}'

响应示例 ​

json
{
  "id": "m1abc2def3",
  "name": "上传专用",
  "token": "imgbed_AbCdEfGhIjKlMnOpQrStUvWxYz123456",
  "owner": "admin",
  "permissions": ["upload"],
  "createdAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-01T00:00:00.000Z",
  "expiresAt": "2024-07-01T00:00:00.000Z",
  "autoDelete": true
}

注意

创建成功后返回的 token 字段为完整 Token 值,请妥善保存,后续查询时仅显示前 15 位。

更新 Token ​

请求 ​

  • 方法:PUT

Body 参数 ​

参数名类型必需默认值说明
tokenIdstring是-Token ID
permissionsstring[]是-新的权限列表
expiresAtstring | null否null新的过期时间,null 表示永不过期
autoDeleteboolean否false过期后是否自动删除

请求示例 ​

bash
curl -X PUT "https://your.domain/api/manage/apiTokens" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
  "tokenId": "m1abc2def3",
  "permissions": ["upload", "delete"],
  "expiresAt": "2025-01-01T00:00:00.000Z",
  "autoDelete": false
}'

响应示例 ​

json
{
  "success": true,
  "message": "Token 权限已更新",
  "token": {
    "id": "m1abc2def3",
    "name": "上传专用",
    "permissions": ["upload", "delete"],
    "expiresAt": "2025-01-01T00:00:00.000Z",
    "autoDelete": false
  }
}

删除 Token ​

请求 ​

  • 方法:DELETE

Query 参数 ​

参数名类型必需说明
idstring是要删除的 Token ID

请求示例 ​

bash
curl -X DELETE "https://your.domain/api/manage/apiTokens?id=m1abc2def3" \
-H "Authorization: Bearer YOUR_API_TOKEN"

响应示例 ​

json
{
  "success": true,
  "message": "Token 已删除"
}

Token 过期机制 ​

过期验证 ​

当使用 API Token 调用接口时,系统会自动检查 Token 是否已过期。若 Token 已过期,接口将返回:

json
{
  "valid": false,
  "error": "Token 已过期"
}

自动删除 ​

当 Token 同时满足以下条件时,系统在列出 Token 时会自动将其从数据库中删除:

  1. expiresAt 不为 null(设置了过期时间)
  2. 当前时间晚于 expiresAt(已过期)
  3. autoDelete 为 true(启用了自动删除)

基于 MIT 许可发布