
Composio Databricks Toolkit 认证接入指南OAuth2 客户端与 API Key 连接配置全解析【免费下载链接】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 开源仓库中 Databricks 支持知识docs/kb/articles/toolkits-databricks.md的完整展开。Composio 为 Databricks 提供了包含 427 个动作tools的工具包覆盖工作区管理、SQL 仓库、Apps 部署、Lakebase 数据库、Agent Bricks、权限与安全组、数据目录与血缘等场景支持OAUTH2与API_KEY两种认证方案。读完本文你将掌握如何在 Databricks 侧创建 OAuth 应用并记录凭据、两种认证方案各自的必填与可选字段、以及如何在 Composio Python SDK 中通过composio.connected_accounts.link()完成连接账户的创建与凭据录入。Databricks 工具包与两种认证方案概览根据仓库数据文件 docs/public/data/toolkits.json 中的工具包元信息Databricks 工具包的基础事实如下属性值工具包 slugdatabricks分类developer tools开发者工具认证方案OAUTH2、API_KEY工具数量427触发器数量0版本20260821_00该工具包同时暴露了两种认证模式的配置细节分别对应databricks_oauth2与databricks_api_key两个 auth config 模板同样定义在 docs/public/data/toolkits.json 的authConfigDetails字段中。选择哪种模式取决于你的 Databricks 部署方式与安全策略OAUTH2 模式适合需要委托授权、以用户身份访问工作区的场景由账户管理员预先创建 OAuth 应用用户在连接流程中通过浏览器授权API Key 模式适合以个人访问令牌PAT直连工作区的场景凭据在连接流程中手动输入。知识库源文件 docs/kb/source/toolkits/databricks/public.md 与知识库页面 docs/content/kb/guide/toolkits-databricks.mdx 记录了这两部分核心内容下文逐节展开。第一步在 Databricks 侧完成 OAuth 应用与密钥设置使用 OAUTH2 模式前必须先在 Databricks 侧完成 OAuth 应用client的创建。这一步发生在 Composio 之外属于 Databricks 账户管理员的职责范围。根据知识库文档关键步骤如下由账户管理员创建 OAuth 应用管理员登录 Databricks 账户控制台创建 OAuth application生成应用级凭据配置应用的 Redirect URL 与 Scopes把允许的回调地址和授权作用域写入应用配置安全记录生成的凭据将产出的client ID与client secret妥善保存后续创建 Composio auth config 时需要用到。映射到 Composio auth config 的字段将 Databricks 侧的 OAuth 应用凭据带入 Composio 时databricks_oauth2模板的字段定义如下来自 docs/public/data/toolkits.json 的authConfigDetails创建 auth config 时的必填字段字段显示名说明client_idClient idDatabricks OAuth 应用的客户端 IDclient_secretClient secretDatabricks OAuth 应用的客户端密钥创建 auth config 时的可选字段字段显示名默认值说明oauth_redirect_uriRedirect URIhttps://backend.composio.dev/api/v1/auth-apps/add需要加入 Databricks OAuth 应用允许列表的回调地址如使用自建后端可覆盖scopesScopesall-apis,openid,email,profile,offline_access向用户请求的授权作用域逗号分隔也就是说默认情况下 Composio 托管后端会提供回调地址你需要把默认的 Redirect URI或你自定义的 URI加入 Databricks 应用的 OAuth 允许列表否则授权回调会被 Databricks 拒绝。连接账户发起时所需的字段OAUTH2当用户通过连接流程授权时databricks_oauth2模式还要求提供工作区地址字段显示名必填说明fullWorkspace URL是Databricks 工作区网址例如https://dbc-abc123.cloud.databricks.com从登录后的浏览器地址栏复制末尾不要带斜杠第二步准备 Databricks API Key个人访问令牌如果选择API_KEY模式则无需 OAuth 应用。databricks_api_key模板在创建 auth config 阶段不要求任何字段required与optional均为空凭据全部在连接账户connected account发起阶段录入。在 Databricks 侧你需要先生成一个个人访问令牌Personal Access Token其格式特征为以dapi开头。生成路径为登录工作区后点击用户名 → Settings → Developer → Access tokens → Generate new token。第三步通过 connected_accounts.link() 录入凭据并建立连接知识库文档明确指出Databricks 的 API Key 凭据是在连接流程中输入的代码层面应引导用户使用composio.connected_accounts.link()创建连接账户并录入 API Key 细节。API Key 模式的连接字段连接发起时databricks_api_key模板要求两个必填字段字段显示名说明fullWorkspace URLDatabricks 工作区网址必须与令牌所属工作区一致末尾不带斜杠generic_api_keyAccess Token个人访问令牌以dapi开头注意full字段的约束令牌必须来源于同一个工作区否则连接会失败或无法正常执行工具。link() 方法签名与用法根据 SDK 参考文档 docs/content/reference/sdk-reference/python/connected-accounts.mdxlink()的签名如下def link(user_id: str, auth_config_id: str, callback_url: str | None ..., alias: str | None ..., allow_multiple: bool ..., experimental: link_create_params.Experimental | None ...) - ConnectionRequest参数类型说明user_idstr发起连接的用户标识auth_config_idstr目标 auth config 的 IDcallback_url?str \| None连接完成后的回调地址alias?str \| None连接账户别名allow_multiple?bool是否允许同一用户对该 auth config 建立多个连接账户experimental?link_create_params.Experimental \| None实验性参数例如共享账户account_type: SHARED及其 ACL 配置该方法返回ConnectionRequest对象其中包含redirect_url用于把用户引导到授权页面。完整接入示例结合 SDK 参考文档与仓库示例 python/examples/connected_accounts.py一个典型的 Databricks API Key 接入流程如下import os from composio import Composio composio Composio() # 1. 创建连接请求引导用户录入 Databricks 凭据 connection_request composio.connected_accounts.link( user_idos.environ[COMPOSIO_EXAMPLES_USER_ID], auth_config_idos.environ[COMPOSIO_EXAMPLES_APIKEY_AUTH_CONFIG_ID], allow_multipleTrue, ) redirect_url connection_request.redirect_url print(fVisit: {redirect_url} to enter your Databricks API key) # 2. 用户填写 Workspace URL 与 Access Token 后等待连接建立 connected_account connection_request.wait_for_connection() print(fConnected account {connected_account.id} is {connected_account.status}) # 3. 连接成功后即可在 Agent 中调用 Databricks 工具在连接页面上用户需要依次填写上文表格中的两个必填字段Workspace URL与Access Tokendapi开头的个人访问令牌。使用 OAuth2 模式时流程相同只是用户在授权页完成浏览器授权而非手输令牌。连接账户的后续管理连接建立后可以使用connected_accounts命名空间下的方法进行管理见 python/examples/connected_accounts.py# 列出全部连接账户 connected_accounts composio.connected_accounts.list() print(connected_accounts) # 查询单个连接账户注意完整对象会携带实时 OAuth 凭据打印时建议只输出标识字段 account composio.connected_accounts.get(connected_account.id) print(f{account.id} - {account.status}) # 禁用 / 启用 / 删除 composio.connected_accounts.disable(connected_account.id) composio.connected_accounts.enable(connected_account.id) composio.connected_accounts.delete(connected_account.id)此外可以通过composio.toolkits.get_connected_account_initiation_fields(toolkitDATABRICKS, auth_schemeAPI_KEY)在代码中动态查询连接发起阶段所需的字段清单避免硬编码。为什么推荐 link() 而不是 initiate()知识库文档明确指向composio.connected_accounts.link()这与仓库中认证流程的演进方向一致。根据变更日志 docs/content/changelog/04-28-26-sdk-link-allow-multiple.mdx 与认证指南 docs/content/docs/tools-direct/authenticating-tools.mdx对于 Composio 托管的可重定向 OAuth连接创建已从POST /api/v3/connected_accounts迁移到POST /api/v3/connected_accounts/linklink()Python与linkedAccounts.link()TypeScript与initiate()具有相同的返回结构同样返回redirect_url并且继承了重复连接防护duplicate-connection check对 Composio 托管 OAuth默认情况即你没有自带 OAuth client 凭据initiate()已开始逐步退役并返回400 BadRequest因此新接入应统一使用link()。也就是说无论 Databricks 的OAUTH2还是API_KEY模式link()都是当前推荐的连接入口。常见注意事项OAuth 模式前置依赖OAUTH2 必须先在 Databricks 账户侧完成 OAuth 应用创建与 Redirect URL/Scopes 配置这是连接流程能否成功的前提令牌与工作区绑定API Key 模式下Access Token 必须与填写的 Workspace URL 属于同一工作区Redirect URI 允许列表使用 OAuth2 时务必把 auth config 中的oauth_redirect_uri默认https://backend.composio.dev/api/v1/auth-apps/add加入 Databricks 应用的允许列表凭据安全个人访问令牌与client_secret都是高敏感凭据应通过环境变量或密钥管理系统注入避免硬编码进代码库打印连接账户对象时也应只输出id、status等标识字段因为完整对象可能携带实时 OAuth 凭据。围绕 Databricks 认证的知识库文档、SDK 参考与示例代码均可在当前仓库中查阅docs/kb/source/toolkits/databricks/public.md、docs/content/kb/guide/toolkits-databricks.mdx、docs/content/reference/sdk-reference/python/connected-accounts.mdx 与 python/examples/connected_accounts.py。【免费下载链接】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),仅供参考