认证与 API Key
Routic 使用 API Key 进行认证,格式和用法与 OpenAI 一致。
认证方式
所有请求在 Authorization 头中携带 API Key:
Authorization: Bearer sk-xxxxxxxx
不要把 API Key 放在 URL 参数里。所有请求必须走 HTTPS。
获取 API Key
- 登录 Routic 控制台
- 进入「API Keys」页面
- 点击「创建新密钥」
- 复制密钥并安全保存
创建后密钥只显示一次。如果丢失,需要吊销旧密钥再创建新的。
API Key 格式
- 前缀:
sk- - 长度:48 个字符
- 示例:
sk-a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
Routic 的 Key 前缀是 sk-,和 OpenAI 的 sk-proj- 不同。两个 Key 不能混用——Routic 的 Key 只在 Routic 的 Base URL 下有效:
# ✅ 正确 — 同时指定 base_url 和 api_key
client = OpenAI(
base_url="https://api.routic.ai/v1",
api_key="sk-xxxxxxxx", # Routic Key
)
# ❌ 错误 — 有 Key 没改 base_url → 请求发到 OpenAI 去了
client = OpenAI(api_key="sk-xxxxxxxx")
# ❌ 错误 — 用 OpenAI 的 Key 打 Routic 的接口
client = OpenAI(
base_url="https://api.routic.ai/v1",
api_key="sk-proj-xxxxxxxx", # 这是 OpenAI 的 Key
)
密钥安全
⚠️ 绝对不要
- 把 API Key 提交到 Git 仓库(包括
.env文件) - 把 API Key 写在前端代码里(React、Vue 等)
- 把 API Key 硬编码在客户端应用里
- 在公开的 issue、论坛、聊天中分享 API Key
✅ 推荐做法
- 用环境变量存储:
export ROUTIC_API_KEY="sk-xxxxxxxx" - 用
.env文件,并确保.gitignore包含.env - 后端代理——前端请求你的后端,后端携带 API Key 调 Routic
- 不同环境用不同密钥(开发/测试/生产)
密钥泄露了怎么办
- 立即在控制台吊销泄露的密钥
- 创建新密钥
- 更新所有使用旧密钥的服务
- 检查用量记录,确认没有异常调用
密钥管理
| 操作 | 说明 |
|---|---|
| 创建 | 每个用户可创建多个密钥,分别用于不同场景 |
| 吊销 | 吊销后立即生效,正在进行的请求不受影响,新请求会被拒绝 |
| 命名 | 建议给密钥起有意义的名字(如 prod-backend、dev-testing) |
同一账户下的所有 Key 共享账户余额。
多密钥策略
| 场景 | 策略 |
|---|---|
| 前后端分离 | 后端用一个 Key,前端不直接调 API |
| 多个服务 | 每个服务一个 Key,方便追踪用量 |
| 开发/生产 | 开发环境用一个独立账户,避免误操作影响生产 |
| 速率限制 | 单个 Key 达到限速时,可用多个 Key 轮换(每个 Key 独立限速) |
认证错误
| 错误码 | HTTP 状态 | 含义 | 解决方式 |
|---|---|---|---|
invalid_api_key | 401 | Key 格式错误或不存在 | 检查 Key 是否完整复制 |
expired_api_key | 401 | Key 已过期或被吊销 | 在控制台创建新 Key |
missing_api_key | 401 | 没有提供 Authorization 头 | 添加 Authorization: Bearer sk-xxx |