身份验证
UniterRouter API 身份验证完整指南。学习如何生成 API 密钥、实现安全的 Bearer Token 认证,以及保护 LLM API 请求的最佳实践。
身份验证
所有对 UniterRouter 的 API 请求都需要使用 API 密钥进行身份验证。本指南介绍如何获取和安全使用你的 API 密钥。
获取 API 密钥
- 登录 UniterRouter 控制台
- 进入 项目 → API 密钥
- 点击 创建 API 密钥
- 立即复制密钥 —— 它只会显示一次
安全提示:你的 API 密钥是机密凭证。切勿在客户端代码、公开仓库中暴露它,也不要与他人分享。
使用 API 密钥
在每个请求的 Authorization 头中使用 Bearer token 格式包含你的 API 密钥:
Authorization: Bearer YOUR_API_KEY示例请求
curl https://api.uniterouter.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $UNITEROUTER_API_KEY" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "你好!"}]
}'import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.uniterouter.ai/v1",
api_key=os.environ.get("UNITEROUTER_API_KEY"),
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "你好!"}]
)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.uniterouter.ai/v1",
apiKey: process.env.UNITEROUTER_API_KEY,
});
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "你好!" }],
});package main
import (
"context"
"os"
openai "github.com/sashabaranov/go-openai"
)
func main() {
config := openai.DefaultConfig(os.Getenv("UNITEROUTER_API_KEY"))
config.BaseURL = "https://api.uniterouter.ai/v1"
client := openai.NewClientWithConfig(config)
resp, _ := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: "gpt-4o",
Messages: []openai.ChatCompletionMessage{
{Role: "user", Content: "你好!"},
},
},
)
}环境变量
我们建议将 API 密钥存储在环境变量中:
# 添加到你的 shell 配置文件 (.bashrc, .zshrc 等)
export UNITEROUTER_API_KEY="sk_..."对于生产应用,请使用密钥管理器或部署平台提供的环境配置。
API 密钥格式
UniterRouter API 密钥遵循以下格式:
| 前缀 | 描述 |
|---|---|
sk_ | 标准 API 密钥 |
sk_test_ | 测试环境密钥(如适用) |
身份验证错误
如果身份验证失败,API 返回 401 Unauthorized 响应:
{
"error": {
"message": "提供的 API 密钥不正确。你可以在 https://uniterouter.ai/dashboard 找到你的 API 密钥。",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}常见的身份验证问题:
| 问题 | 解决方案 |
|---|---|
缺少 Authorization 头 | 添加包含 API 密钥的头 |
| 密钥格式无效 | 确保密钥以正确的前缀开头 |
| 密钥已过期或被撤销 | 在控制台生成新密钥 |
| 密钥所属项目已禁用 | 重新启用项目或使用其他密钥 |
安全最佳实践
推荐的安全实践
- 永远不要硬编码 API 密钥 —— 使用环境变量或密钥管理器
- 定期轮换密钥 —— 创建新密钥并弃用旧密钥
- 每个环境使用单独的密钥 —— 开发、测试和生产使用不同的密钥
- 设置使用限制 —— 为每个 API 密钥配置消费限额
- 监控使用情况 —— 定期在控制台查看 API 密钥活动
- 立即撤销泄露的密钥 —— 如果密钥被暴露,立即禁用并创建新密钥
组织和项目结构
UniterRouter 使用层级结构进行访问管理:
组织
└── 项目
└── API 密钥- 组织:你的顶级账户
- 项目:API 密钥和设置的逻辑分组
- API 密钥:作用于特定项目的凭证
每个 API 密钥继承其父项目的权限和设置。
下一步
- 了解 API 密钥管理和 IAM 规则
- 探索 API 参考
- 设置错误处理
How is this guide?