集成
| 集成 | 用途 | 页面 |
|---|---|---|
| OAuth 连接器 | 让用户连接自己的 Google Drive、OneDrive、Outlook、SharePoint 或 Teams | 本页 |
| REST API | 把 OpenAPI 文档转成工具,支持 API Key、Bearer、Basic 或 OAuth2 认证 | 本页 |
| MCP 服务 | 给 Agent 提供任何有 MCP 服务的系统里的工具 | Skill 与 MCP |
| 办公平台 | 通过企业微信、飞书或钉钉各自的登录方式接入 | 插件的 platforms 字段 |
OAuth 连接器
用户可以连接自己的 Google Drive、OneDrive、Outlook、SharePoint 和 Microsoft Teams 账号。公司共享连接不能绑定管理员的个人 OAuth。
管理员一次性配置
- 在 Google 和/或 Microsoft 注册 Web 应用,回调地址设为
HUB_PUBLIC_URL+/api/v1/mcp-servers/oauth/callback。生产环境必须是固定的 HTTPS 地址,只有本机开发允许localhost的 HTTP。 - 在 Hub 上配置:
| 配置项 | 值 |
|---|---|
CONNECTOR_OAUTH_KEY | Fernet 密钥,例如用 cryptography.fernet.Fernet.generate_key() 生成 |
CONNECTOR_GOOGLE_CLIENT_ID、CONNECTOR_GOOGLE_CLIENT_SECRET | Google 应用凭据 |
CONNECTOR_MICROSOFT_CLIENT_ID、CONNECTOR_MICROSOFT_CLIENT_SECRET | Microsoft 应用凭据 |
CONNECTOR_MICROSOFT_TENANT | 默认 organizations,也可以填已批准的租户标识 |
所有 Hub 节点必须使用相同的密钥、应用配置、HUB_PUBLIC_URL 和数据库。请备份这把密钥,直接替换会让已有授权无法解密。在反向代理和访问日志里隐藏回调路径的查询串,避免记录一次性的 code。
Microsoft 的部分权限需要租户管理员同意;Google 应用在大范围使用前可能需要平台审核。
授权怎样处理
- 使用授权码流程和 PKCE(S256),随机
state,十分钟有效,只能使用一次。 - 令牌加密保存,绑定 Hub、设备、用户、连接器和连接。访问令牌只在服务器派发工作或执行检查时注入。
- 这五个连接器是只读的,写入被强制关闭。
- 授权不会随导出、导入或共享传播,目标账号需要重新登录。
- 删除连接会删除对应的本地令牌,但不会在供应商那里撤销整个应用授权;请在供应商的账号设置里撤销。
连接状态
| 状态 | 含义 |
|---|---|
configured | 配置和工具目录可用,账号尚未验证 |
verified | 审核过的只读身份接口调用成功 |
needs_auth | 供应商拒绝了授权,需要重新连接 |
offline | 需要的执行机不在线 |
error | 网络或运行异常,不会因此认定账号已失效 |
用 OpenAPI 接入 REST API
导入 OpenAPI 3.0 或 3.1 文档(JSON 或 YAML),或简化的接口清单。SoduWork 会生成认证字段:API Key、Bearer、Basic 或 OAuth2。
- OAuth2 支持带 PKCE 的授权码流程、
client_secret_basic、client_secret_post和公共客户端。在连接配置页填写该系统的 Client ID 和 Secret,把 Hub 的回调地址登记到那个系统,然后点 登录并连接。 - 写入默认关闭。开启后才会申请对应工具的权限范围。
- 请求不跟随重定向,限制返回大小,校验实际连接的地址,并禁止访问系统元数据地址。结果不确定的写入不会自动重试。
- 公司共享连接应使用公司的 API Key 或 Client Credentials,而不是个人 OAuth。
除了 CONNECTOR_OAUTH_KEY 和有效的 HUB_PUBLIC_URL,每接入一个新系统都不需要增加服务器配置。