🔐 API Key 通道
原理
直接用密钥访问接口,最简单直接的方式。
用户请求 → API Key验证 → 模型 → 响应
| 特点 | 说明 |
|---|---|
| 简单直接 | 一个密钥走天下 |
| 权限粗放 | 密钥拥有全部权限 |
| 安全风险高 | 泄露 = 全暴露,无法细粒度控制 |
| 管理困难 | 多用户共享一个Key,难以追踪谁在用 |
| 适合场景 | 个人使用、测试、简单集成 |
代码示例
# 直接填入 API Key
import openai
client = openai.OpenAI(api_key="sk-xxxx")
🔑 OAuth 通道
原理
通过授权流程获取临时令牌,支持 scopes 权限控制。
用户请求 → OAuth授权 → Access Token → API调用 → 权限校验 → 模型
| 特点 | 说明 |
|---|---|
| 安全系数高 | 无需暴露长期密钥 |
| 权限可控 | 可细粒度控制 scopes(读/写/特定接口) |
| 令牌有时效 | Access Token 自动过期,被盗风险低 |
| 支持多用户 | 每个用户独立授权,可追踪使用量 |
| 适合场景 | 企业级应用、多用户系统、第三方集成 |
代码示例
# MiniMax OAuth 授权流程
client = OpenAI(
api_key=*** # 不填这里
base_url="https://api.minimax.chat",
authorization="Bearer <access_token>" # 用OAuth Token
)
📊 对比总结
| 对比项 | API Key | OAuth |
|---|---|---|
| 密钥类型 | 长期固定 | 临时令牌 |
| 权限控制 | 粗放(全有或全无) | 细粒度(scopes) |
| 安全性 | 中低(泄露风险大) | 高(令牌有时效) |
| 适用规模 | 个人/小团队 | 企业/多用户 |
| 集成复杂度 | 低 | 中高 |
| 成本追踪 | 难 | 易(按用户/项目) |
| 典型供应商 | OpenAI早期 | MiniMax、Moonshot |
🏆 实际选择建议
✅ 推荐 API Key 的场景
- 个人开发测试
- 快速原型验证
- 内部工具单机使用
- 简单脚本调用
✅ 推荐 OAuth 的场景
- 企业多用户应用
- 需要精细权限管理
- 第三方应用接入
- 多租户 SaaS 平台