API Key 接口 /api/keys
管理用于调用 /v1 网关的 API Key。全部需要登录令牌。
GET /api/keys
列出当前账号的全部 Key。
json
{
"ok": true,
"keys": [
{
"id": "3",
"name": "production",
"masked": "mf-abc1...ef9",
"key": "mf-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"viewable": true,
"lastUsedAt": "2026-10-16T09:12:00.000Z",
"revoked": false,
"createdAt": "2026-10-10T04:00:00.000Z"
}
]
}| 字段 | 说明 |
|---|---|
masked | 用于列表展示的掩码,始终可读 |
key | 明文 Key,仅在 viewable 为 true 时存在 |
viewable | 该 Key 是否可还原明文;在此功能上线前创建的 Key 只有哈希,取不回 |
POST /api/keys
创建新 Key。明文只在创建响应里出现,同时之后也可以从列表接口取回。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 否 | 备注名,最长 60 字,默认 default |
bash
curl -X POST "https://ai.modelfold.online/api/keys" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"production"}'json
{
"ok": true,
"key": "mf-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"record": { "id": "4", "name": "production", "masked": "mf-abc1...ef9", "revoked": false, "createdAt": "..." }
}同时持有 10 个有效 Key 时返回 400 too_many_keys。
DELETE /api/keys/:id
吊销指定 Key。吊销后立即失效,使用该 Key 的网关请求返回 401。
不存在或已吊销时返回 404 not_found。
Key 的存储方式
- 数据库保存 Key 的 SHA-256 哈希(用于校验)与 AES-256-GCM 加密副本(用于在控制台回显)。
- 密文以明文方式在全表检索不到任何一条记录。
- 这是「可再次查看」与「拖库即泄露」之间的权衡:如果你更希望 Key 一旦创建就不可还原,可以关闭回显能力,代价是丢失后只能重新创建。