Composio Dashboard 指南:Platform Auth Configs 创建、Playground 测试连接与应用用户连接
2026/9/11 5:01:29 网站建设 项目流程

Composio Dashboard 指南:Platform Auth Configs 创建、Playground 测试连接与应用用户连接

【免费下载链接】composioComposio powers 1000+ toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.项目地址: https://gitcode.com/GitHub_Trending/co/composio

本篇技术指南基于 Composio 官方知识库文档《Manage Platform auth configs》(dashboard-auth-configs-navigation.md)展开,聚焦 Platform 控制台中最容易被忽略的三个操作环节:从选定 Platform 项目创建 Auth Config、在 Auth Config 上使用Connect Account建立 Playground 测试连接、以及通过Manage Config理解配置变更对未来认证行为的影响。读完本文,你将掌握在 Composio Dashboard 中正确创建与管理认证配置的完整流程,并清楚区分"测试连接"与"生产应用用户连接"之间的本质差异,避免在集成阶段踩坑。

从选定的 Platform 项目创建 Auth Config

在 Composio Dashboard 中,认证配置(Auth Config)是一切连接的基础。它是一个"蓝图",定义了某个 toolkit 在所有用户之间如何进行认证:包括认证方式(auth_scheme)、工具可请求的 scope,以及 Composio 用于运行 OAuth 或 token 流程的凭据(见 auth-configs.mdx)。

操作路径

创建流程位于 Dashboard 的Platform → Auth Configs → Create Auth Config,具体步骤如下:

  1. 进入Platform页面,确认当前选中的组织和项目(Auth Config 归属于某个 Platform 项目,跨项目不可复用);
  2. 打开Auth Configs列表页,点击Create Auth Config
  3. 选择目标toolkit,以及该 toolkit 支持的认证方式
  4. 当托管认证(managed authentication)可用时,优先选择托管认证;否则输入客户自有凭据(customer-owned credentials)。

认证方式(Auth Scheme)选择

依据 auth-configs.mdx 的说明,Composio 支持四种认证方式,实际可用的方式由所选 toolkit 自身决定:

方式含义适用场景
OAUTH2OAuth 2.0 授权码流程:用户通过托管授权页授权,Composio 存储并自动刷新 access/refresh token大多数带用户账号的应用(Gmail、GitHub、Slack、Notion 等),默认使用 Composio 托管 OAuth 应用
API_KEY用户提供静态 API key,无 OAuth 流程,key 随每次请求发送以 key 认证的服务,如 SendGrid、Tavily、PostHog
BEARER_TOKEN直接持有 bearer token,Composio 以Authorization: Bearer <token>发送且不刷新,需自行维护时效将已有 OAuth 或 server-to-server token 带入 Composio,或签发长寿命 token 的应用
BASIC用户名 + 密码的 HTTP Basic 认证使用 Basic Auth 的服务

从源码角度看,SDK 对认证方式的建模同样围绕这四类。在 TypeScript SDK 的 AuthScheme.ts 中定义了方案类型,而 AuthConfigs.ts 中的authConfigs.create('my-toolkit', { authScheme: AuthSchemeTypes.API_KEY, ... })演示了通过 SDK 创建认证配置时如何显式指定authScheme。也就是说,Dashboard 上的选择与 SDK/API 的auth_scheme字段一一对应,你可以先用控制台验证流程,再在代码中复现同样的配置。

自定义 OAuth 的回调 URI

对于自定义 OAuth(custom OAuth),必须使用当前 Dashboard 显示的确切回调 URI(callback URI)在 provider 应用中进行注册。不要从旧示例中复制回调 URI——回调地址可能随项目、环境或版本变化,过期的 URI 会导致 OAuth 授权回调失败,连接无法建立。

项目归属与排障

Auth Config 归属于且仅归属于一个 Platform 项目。如果在操作中发现某个配置或连接"消失",请先核对当前选中的组织(organization)与项目(project),确认无误后再重新创建,而不是盲目重建。组织与项目是 Dashboard 中所有认证资源的顶层归属边界,选错作用域是连接缺失最常见的原因。

Connect Account:它是 Playground 测试连接

在 Auth Config 详情页上,Connect Account按钮看起来像一个通用连接入口,但它的实际语义需要特别注意:这个控件用于认证当前项目的 Playground 用户,仅供测试使用

关键区别在于:

  • Connect Account 不会要求输入应用用户 ID。它把连接绑定到项目自身预置的 Playground 用户身份上,方便你在集成阶段快速验证某个 toolkit 的认证流程是否通畅。
  • 要为真实的应用用户建立连接,必须通过 SDK 或 API 创建托管连接链接(hosted connection link),并在其中传入该应用稳定的user_id以及目标 Auth Config。

为什么测试连接不能替代生产连接

测试连接与生产连接在"身份归属"上完全不同。在 auth-configs.mdx 中说明:当用户针对某个 Auth Config 完成认证时,Composio 会创建一个 connected account 来存储该用户的 token,并将其关联到你的用户 ID。也就是说,连接的核心是"用户身份 + Auth Config"这一对组合——Playground 用户与你的真实应用用户是两个不同的身份,前者测试出来的结果不能代表后者的实际体验(例如 scope 授权、token 刷新、多租户隔离等)。

通过 SDK 为真实用户创建连接

在 TypeScript SDK 的 ConnectedAccounts.ts 中,connectedAccounts.initiate()接收的第一个参数就是userId

const connectionRequest = await composio.connectedAccounts.initiate( 'user123', // 应用内稳定的用户 ID 'auth_abc123' // 目标 Auth Config 的 nanoid );

从 ConnectedAccounts.ts 可以看到,list()支持按userIds过滤,说明一个用户可以在同一 Auth Config 下拥有连接记录;而 ConnectedAccounts.ts 中"镜像 initiate() 的守卫逻辑"表明 SDK 会防止对同一用户静默创建多余连接,除非显式开启allowMultiple选项。

因此生产环境的标准姿势是:在你的后端服务中调用 SDK/API 的 initiate / connection link 流程,携带应用侧稳定user_id与目标 Auth Config,将生成的托管连接链接交给用户完成授权。Dashboard 上的Connect Account仅作为开发期的 Playground 冒烟测试工具。

Manage Config:改变的是"未来的认证行为"

Manage Config是 Auth Config 的管理入口,用于查看并调整当前配置类型的各项属性:

  • 启用状态(enabled state):配置当前是启用还是禁用;
  • 凭据(credentials):托管应用的凭据或你自己的 OAuth client 与密钥;
  • 可用的 scope 或执行设置:该配置类型下工具可请求的权限范围与执行选项。

修改凭据与 scope 的影响

修改凭据或 scope不会追溯性地改变已有连接,而是可能要求用户重新建立连接(fresh connection),变更才会反映到 provider 的授权(grant)中。原因在于:已存储的 token 与 scope 授权是在连接创建时从 provider 获取的,配置层面的改动无法反向改写 provider 侧已签发的授权。

从 SDK 的实现可以印证这一点——AuthConfigs.ts 中的authConfigs.update()用于更新配置本身,而 AuthConfigs.ts 中的updateStatus()enable()disable()则独立控制配置的启用/禁用状态,这些操作都作用于"配置"层面,而非已有连接的 token 层面。

禁用或删除前的依赖检查

在禁用(disable)或删除(delete)一个 Auth Config 之前,务必检查依赖它的连接(connections)、会话(sessions)与触发器(triggers)

  • 连接:依赖该配置建立的 connected account 将失去凭据来源;
  • 会话:正在使用这些连接的 agent 会话可能中断或降级;
  • 触发器:基于这些连接运行的 webhook/trigger 事件流可能停止。

这也是为什么 Dashboard 的设计将"启用/禁用"与"删除"分开——禁用可以随时恢复,删除则是不可逆操作。以 AuthConfigs.ts 中的authConfigs.delete('auth_abc123')为例,删除前请确认所有依赖方已被妥善迁移或下线。

关键要点速查

  1. 创建:在Platform → Auth Configs → Create Auth Config中选择 toolkit 与认证方式;托管认证可用时优先选托管认证;自定义 OAuth 务必注册 Dashboard 当前显示的确切回调 URI。
  2. 归属:Auth Config 属于单一 Platform 项目;连接缺失时先核对组织与项目,再决定是否重建。
  3. 测试Connect Account绑定 Playground 用户,仅用于测试,不要求应用用户 ID。
  4. 生产:真实用户连接需通过 SDK/API 的 hosted connection link 流程,携带稳定user_id与目标 Auth Config(参见 ConnectedAccounts.ts)。
  5. 变更Manage Config中的凭据/scope 修改影响未来连接,可能要求用户重新连接;禁用/删除前先审查依赖的连接、会话与触发器。

【免费下载链接】composioComposio powers 1000+ toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.项目地址: https://gitcode.com/GitHub_Trending/co/composio

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询