Skip to main content

API 密钥认证

所有 API 请求需要通过 Authorization 请求头发送有效的 API 密钥,使用 Bearer 方案:
Authorization: Bearer your-omniakey-api-key

完整示例

curl https://api.omniakey.com/v1/chat/completions \
  -H "Authorization: Bearer your-omniakey-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

使用 SDK

使用 OpenAI 兼容 SDK 时,在客户端初始化时传入 API 密钥:
from openai import OpenAI

client = OpenAI(
    api_key="your-omniakey-api-key",   # 或设置 OPENAI_API_KEY 环境变量
    base_url="https://api.omniakey.com/v1"
)

使用环境变量

我们建议将 API 密钥存储在环境变量中,而非硬编码在代码里:
export OMNIAKEY_API_KEY="your-omniakey-api-key"
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["OMNIAKEY_API_KEY"],
    base_url="https://api.omniakey.com/v1"
)

管理 API 密钥

你可以在控制台中创建、查看和撤销 API 密钥。
  • 创建多个密钥 — 为不同环境(开发、预发布、生产)使用不同密钥
  • 设置消费限额 — 按密钥设置费用上限
  • 即时撤销 — 如果密钥泄露,立即撤销

错误响应

认证失败时,API 返回 401 Unauthorized 错误:
{
  "error": {
    "message": "Invalid API key provided.",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}
常见原因:
  • 缺少或格式错误的 Authorization 请求头
  • API 密钥已过期或已撤销
  • API 密钥权限不足

安全最佳实践

1

不要在前端代码中暴露 API 密钥

始终从后端服务器调用 API。不要将 API 密钥包含在客户端 JavaScript、移动应用或公开仓库中。
2

使用环境变量

将 API 密钥存储在环境变量或密钥管理器(如 AWS Secrets Manager、HashiCorp Vault)中。不要将密钥提交到版本控制系统。
3

定期轮换密钥

定期生成新的 API 密钥并撤销旧密钥。这样可以限制密钥意外泄露造成的影响。
4

每个环境使用独立密钥

为开发、预发布和生产环境创建不同的 API 密钥。这样撤销开发密钥不会影响生产环境。
5

监控使用情况

定期在控制台中查看 API 使用情况,及时发现异常活动。