为什么AI Agent需要认证网关?OpenConnector解决凭据管理难题终极指南
【免费下载链接】open-connectorOpen-source auth gateway connecting 1000+ SaaS providers to AI agents through SDK, CLI, MCP, HTTP, and OpenAPI.项目地址: https://gitcode.com/gh_mirrors/op/open-connector
当你想让 AI Agent 帮你读 Gmail、管 GitHub、查 Notion 时,凭据管理往往是最头疼的一环:API Key 散落在环境变量里、OAuth 授权流程繁琐、Token 过期无人刷新。OpenConnector 是一个开源认证网关(连接网关),只需一次授权即可打通 1000+ SaaS 服务商,通过 SDK、CLI、MCP、HTTP 与 OpenAPI 五种方式把连接能力开放给 AI Agent,让 API Key、OAuth2 等敏感凭据始终安全地隔离在运行时边界之内。
一、AI Agent 的凭据管理痛点:密钥泄露与重复授权
没有统一网关时,Agent 直连 SaaS 会撞上这些经典问题:
| 痛点 | 后果 | OpenConnector 的做法 |
|---|---|---|
| API Key 硬编码在代码或环境里 | 密钥泄露、难以轮换 | 凭据统一存入加密数据库,Agent 拿不到原始密钥 |
| 每个服务商都要手写 OAuth 流程 | 开发成本高、易出错 | 内置 OAuth2 授权、回调与 Token 自动刷新 |
| 多账号无法区分 | 个人版和公司版混用 | 命名连接(如work)+ 令牌级连接白名单 |
| 无法审计 Agent 干了什么 | 权限失控、出事故难排查 | 运行日志、Action 允许/阻止策略、最小权限令牌 |
| 同一能力要重复接 N 次 | 重复造轮子 | 10,000+ 预构建 Action,跨 SDK / CLI / MCP / HTTP 复用 |
一句话:把"认证"这件脏活累活从 Agent 进程里搬出去,交给网关统一做。
二、OpenConnector 是什么:一次连接,处处可用
OpenConnector 是一个面向 AI Agent 的连接器网关,也是 Pipedream / Composio 的开源替代方案。它的核心能力包括:
- ✅连接器目录:覆盖 GitHub、Gmail、Notion、Slack、Supabase、Airtable 等 1000+ 服务商
- ✅凭据托管:支持
no_auth、api_key、custom_credential、oauth2四类认证方式 - ✅可审查的 Action 契约:每个操作都有请求/响应 Schema 与所需权限(scopes)声明
- ✅运行时管控:连接身份、权限范围、运行时令牌、Action 允许/阻止策略、脱敏运行日志
Agent 和产品可以通过四种方式接入,同一套 provider id 与 Action id 在所有路径下保持一致:
| 接入方式 | 适合谁 | 入口 |
|---|---|---|
| Connector SDK(TypeScript) | 应用代码内调用 | OpenConnector客户端 |
| oo CLI | 本地 Agent 中转、脚本调试 | oo connector命令 |
| MCP | 支持 MCP 的 Agent 宿主 | http://localhost:3000/mcp |
| HTTP / OpenAPI | 自研客户端 | /v1/actions/*与/openapi.json |
三、架构解析:认证网关如何隔离凭据
整个数据流可以概括为一条单向边界:
AI Agent / 应用 →(SDK / CLI / MCP / HTTP)→ OpenConnector 网关 → 凭据与 OAuth 边界 → 1000+ 服务商
Agent 在网关中发现 Action、查看 Schema 与 scopes、选择连接别名、执行操作;而服务商的密钥始终留在运行时边界之后。Agent 拿到的只是元数据、安全的账户标签和执行结果——原始 Token 永远不会暴露给 Agent 进程。
这种边界在代码中同样清晰:运行时 API 与路由集中在 src/server/,出站请求统一经过防 SSRF 的受控 fetch(src/core/guarded-fetch.ts),服务商执行器全部位于 src/providers/ 下,每个服务商仅暴露definition.ts、actions.ts、executors.ts等标准文件,新增一个服务商就是补齐这三件套。
四、四种凭据类型 + 加密存储:密钥不再明文躺平
网关对不同认证类型有明确的处理策略:
no_auth:虚拟连接,不存任何密钥api_key:密钥存入运行时数据库(SQLite / PostgreSQL / D1)custom_credential:按服务商声明的字段严格校验,未知字段直接拒绝oauth2:用户自带 OAuth 应用配置,网关托管授权回调与 Token 生命周期
安全上有三个关键设计:
- 静态加密:配置
OOMOL_CONNECT_ENCRYPTION_KEY后,凭据、OAuth 客户端配置、待处理授权状态均使用AES-256-GCM加密落盘,还支持密钥轮换; - 自动刷新:OAuth access token 过期且存在 refresh token 时,网关自动刷新并写回数据库,Agent 无感知;
- 连接身份:网关会记录服务商侧的账号 ID 与显示名,Agent 能知道"这个操作将以哪个账号执行",但依旧看不到密钥。
以 Gmail 为例,在控制台配置 OAuth 客户端只需填入 Client ID 与 Client Secret:
完整字段契约与轮换操作见 docs/credentials.md。
五、实战演示:三步走通 Gmail 的 OAuth2 授权
以 docs/gmail-oauth-sdk.md 的教程为例,授权全流程只需三步。
第 1 步:发起连接。打开 Gmail 服务商页面,点击 "Connect Gmail",浏览器中完成 Google 授权同意:
第 2 步:回调落地。Gmail 跳回运行时后,网关自动把 OAuth 凭据存为默认连接,页面状态变为 "Connected by oauth2",可随时重连或断开:
第 3 步:创建运行时令牌并调用。在 Access 页为 Agent 创建一个令牌(令牌只显示一次,数据库仅存哈希):
之后 Agent 通过 HTTP 即可让网关代为执行 Gmail 操作,令牌放在请求头里即可:
curl -s -X POST http://localhost:3000/v1/actions/gmail.search_threads \ -H "authorization: Bearer oct_..." \ -H 'content-type: application/json' \ -d '{"input":{"query":"newer_than:7d","maxResults":5}}'MCP 宿主则只需把客户端指向http://localhost:3000/mcp,即可用search_actions、execute_action等工具完成发现与执行,详见 docs/runtime-api.md。
六、运行时令牌与策略:给 Agent 最小权限
认证网关不只是"存密钥",更是一套权限策略引擎。每个持久令牌可以独立配置:
allowedActions/blockedActions:Action 级允许/阻止名单(支持github.*通配)allowedConnections:只能使用被授权的具体连接 ID,越权直接返回403 connection_not_allowedallowedProxies:服务商代理访问单独授权,默认拒绝
部署层同样有独立开关,例如只放行 Hacker News 与 GitHub 的部分操作:
OOMOL_CONNECT_ALLOWED_ACTIONS="hackernews.*,github.get_current_user" npm run dev部署策略与令牌策略取交集,令牌永远无法放大自身权限——这正是 Agent 安全中"最小权限"原则的落地方式。更多配置项见 docs/configuration.md。
七、快速部署:Docker、Cloudflare 与 Kubernetes
部署路径按需求从轻到重排列,官方文档均随仓库提供:
| 部署方式 | 特点 | 参考 |
|---|---|---|
| 本地 Docker | 一条命令起步,SQLite 默认存储 | docker-compose.yml |
| Cloudflare | Workers + D1 + R2,轻量托管 | docs/cloudflare.md |
| Fly.io | Docker 运行时 + 持久卷 | docs/fly-io.md |
| Kubernetes (Helm) | 加固 Chart,含迁移钩子与网络策略 | deploy/helm/open-connector/ |
本地最简启动:
docker compose up随后打开http://localhost:3000即进入控制台,/docs是自动生成的 API 参考。完整步骤见 docs/quickstart.md。Cloudflare 部署可参考官方快速上手视频(Workers、D1、R2 与 Web Console 全流程):
八、适用场景清单:谁应该上认证网关?
- 🤖Agent 产品:需要复用用户已有的工作应用(邮箱、IM、代码托管、数据系统),又不想把密钥交给 Agent 进程
- 🚀给存量产品加 Agent 工作流:需要稳定、可审查的 Action 契约
- 🏢既要托管速度又要私有控制:先用托管授权快速上线,同一套契约随时迁到自托管运行时
九、核心资料导航
- 项目总览与架构:README.md
- 快速上手:docs/quickstart.md
- 凭据、OAuth 与加密存储:docs/credentials.md
- 运行时 API 与 MCP 参考:docs/runtime-api.md
- Gmail OAuth 与 SDK 教程:docs/gmail-oauth-sdk.md
- 目录格式规范:docs/catalog-format.md
- 运行时核心代码:src/core/、src/server/
- Web 控制台源码:web/
总结:AI Agent 要真正"动手"干活,绕不开对 SaaS 的持久访问;而把认证从 Agent 中剥离、交给一个可审计的开源认证网关,是既省事又安全的解法。OpenConnector 用一次连接、五类接入、四层策略,把凭据管理这个老大难变成了控制台里点几次鼠标的事。
【免费下载链接】open-connectorOpen-source auth gateway connecting 1000+ SaaS providers to AI agents through SDK, CLI, MCP, HTTP, and OpenAPI.项目地址: https://gitcode.com/gh_mirrors/op/open-connector
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考