跳转到内容

密钥管理

codingas.com 的”密钥”指签发给调用方的网关 API Keysk- 开头),用于调用 /v1/* 端点。它与上游 Provider Key(OpenAI/Anthropic 的密钥,见 Provider 管理)不同。

所有管理 API 需会话认证(Authorization: Bearer <token>,token 通过 登录 获取)。

操作方法端点
创建 KeyPOST/api/v1/user-api-keys
查询全部(管理员)GET/api/v1/user-api-keys
按用户查询GET/api/v1/user-api-keys?userId={id}
查询我的 KeyGET/api/v1/me/api-keys
查询详情GET/api/v1/user-api-keys/{id}
Key 详情(元信息)GET/api/v1/user-api-keys/{id}/detail
更新PUT/api/v1/user-api-keys/{id}
删除DELETE/api/v1/user-api-keys/{id}
Terminal window
curl -X POST http://localhost:8080/api/v1/user-api-keys \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userId": 1,
"applicationId": 1,
"name": "my-app-key"
}'

响应(明文仅此一次返回,请妥善保存):

{
"id": 1,
"keyPrefix": "sk-****",
"apiKeyPlain": "sk-xxxxxxxx-my-app-key"
}

请求字段:

字段类型必填说明
userIdLongKey 归属用户 ID(可通过 GET /api/v1/auth/me 获取)
applicationIdLong授权访问的应用 ID(权限锚点,决定可访问的渠道与模型范围)
nameString密钥名称(便于识别)
Terminal window
# 管理员查询全部
curl http://localhost:8080/api/v1/user-api-keys \
-H "Authorization: Bearer $TOKEN"
# 当前登录用户的 Key
curl http://localhost:8080/api/v1/me/api-keys \
-H "Authorization: Bearer $TOKEN"

列表接口仅返回 keyPrefix 等元信息,不返回明文。明文丢失后只能重新创建。

Terminal window
curl -X DELETE http://localhost:8080/api/v1/user-api-keys/1 \
-H "Authorization: Bearer $TOKEN"

删除后 Key 立即失效,无法再用于调用网关。

调用方 API Key 的访问控制通过以下机制实现:

机制说明
应用渠道授权Key 关联应用,应用决定可见渠道与模型(应用管理
Token 限额用户级 Token 配额(Token 计量与配额
存储安全网关仅存 Key 前缀(keyPrefix)与 SHA-256 哈希,认证时哈希比对、不解密明文
功能状态
API Key CRUD
应用渠道授权(模型可见性)
Token 限额(用户级)规则管理 ✅(运行时扣减尚未接入请求链路)