鉴权
两种 key,别搞混
| 类型 | 用途 | 位置 |
|---|---|---|
API 令牌(sk-) | 调用 /v1 等模型接口 | 请求头 |
| PANEL PAT | 调用管理接口 | 请求头 |
普通使用只需要 API 令牌。面板 PAT 是给自动化脚本管后台用的。
API 令牌的三种传法
# 1. OpenAI 风格(推荐)
Authorization: Bearer ***
# 2. Anthropic 风格
x-api-key: ***
anthropic-version: 2023-06-01
# 3. Gemini 风格
x-goog-api-key: ***
# 或查询参数
?key=***
多种头同时带时,以
Bearer 为准平台同时兼容 Authorization: Bearer、x-api-key、x-goog-api-key、?key= 四种鉴权头,
按你使用的 SDK 习惯填即可。同时带多个头时以 Authorization: Bearer 优先。
协议自适应
/v1/models 会根据你带的头决定返回哪种格式的模型列表:
带 x-api-key + anthropic-version 返回 Anthropic 形态,带
x-goog-api-key 返回 Gemini 形态,否则返回 OpenAI 形态。
IP 白名单
每把令牌都可以设置 IP 白名单(单个 IP 或 CIDR 网段),在控制台令牌的「IP 白名单」字段里填。
设置后,名单外的来源调用会返回 403:
{
"error": {
"code": "ip_not_allowed",
"message": "..."
}
}
报错信息里会带着平台看到的来源 IP,并且不扣费。把该 IP 加进白名单,或清空白名单即可恢复。
提示
这是给服务端调用加锁的推荐做法 —— 即使 key 泄露,攻击者的 IP 也拿不到额度。 生产 key 建议必设。
面板接口(PAT)
管理后台的自动化调用使用:
Authorization: Bearer <pat>
也兼容单值写法 Authorization: <pat>。
注意
PAT 不接受 URL 参数传递。不要再带 New-Api-User 头——新版鉴权已经
不用它了,带上会被忽略。
登录会话(浏览器)
如果你在做前端集成:
| 项 | 说明 |
|---|---|
| Access Token | JWT,15 分钟有效,只存内存 |
| Refresh Token | 随机不透明值,最长 30 天,HttpOnly Cookie |
| Refresh 路径 | /api/user/auth,SameSite=Strict |
new_api_has_session 只是"是否签发过 Refresh Cookie"的提示位,
不含任何凭据,也不参与鉴权判定。
安全建议
- 每个环境一把独立 key。
- 生产 key 设过期时间,定期轮换。
- 服务器调用填 IP 白名单(见上),名单外来源直接 403 且不扣费。
- key 泄露立刻禁用,不要试图"改密码保住它"。
- key 不要写进前端代码、公开仓库或聊天截图。