OAuth 连接是以你的 API 密钥(而不是组织)为作用域的。这样,在同一个组织中你可以配置多个 OAuth 账户——只需使用不同的 API 密钥即可。
API 密钥 → api_key_id → connection → OAuth 令牌
示例:要使用 Gmail 模型上下文协议 (MCP) 搭配两个不同的邮箱地址:
- 在控制台中创建两个 API 密钥
- 将 API 密钥 A 用于 Gmail 账号 A
- 将 API 密钥 B 用于 Gmail 账号 B
- 每个密钥只能访问与自己关联的 OAuth 连接
Connection 以 (api_key_id, deployment_id, name) 作为键。同一组织内的不同 API 密钥会获得各自独立的 OAuth Connection。这样可以带来:
- 多账号支持:可以轻松使用多个 OAuth 身份
- 隔离性:每个 API 密钥的 Connection 彼此独立
- 简单性:无需切换账号,只需使用不同的密钥即可
要“切换”OAuth 账号,只需使用不同的 API 密钥。如果你需要重新为同一个密钥进行认证:
- 在提供方的设置中撤销访问权限(例如 Google 账号)
- 下一次 MCP 调用会触发新的 OAuth 授权流程
删除某个 API 密钥会删除与其关联的所有 OAuth 连接(级联删除,CASCADE DELETE)。请使用新的密钥创建新的连接。
| 实体 | 键 | 说明 |
|---|
| API 密钥 | id (uuid) | 属于某个组织 |
| Connection | (api_key_id, deployment_id, name) | 在同一 API 密钥 + 部署 + 名称组合下唯一 |
| OAuth 凭据 | connection_id (FK) | 加密令牌,自动刷新 |