OAuth2 Client Credentials
用 OAuth2 Client Credentials(客户端凭据模式)换取访问令牌的凭证及其访问目标。
服务预设中没有对应的服务时,在 访问内容 → 添加访问 页底部展开 自定义认证(或在搜索框输入名称),按该服务的认证文档选择 OAuth2 Client Credentials(客户端凭据模式)。平台用 Client ID 和 Client Secret 自动换取并刷新访问令牌,令牌不会交给 ZAI。
获取与填写凭证
在身份提供方的应用注册或 OAuth 客户端管理中,创建支持 Client Credentials 的客户端,复制 Client ID 和 Client Secret,并授予所需的应用权限。Client Secret 填入 Client Secret。需要用户登录授权的 OAuth 流程不能使用这种方式。
服务地址
在 访问目标 中,目标地址 只填业务 API 的主机名,例如 api.example.com,不带协议或路径;在折叠的 协议、路径和内网设置 中调整协议、端口、路径和方法。同一份凭证要用于多个地址时,点击 添加地址。Token endpoint 不需要填进 访问目标。
Client ID
填写身份提供方应用注册页面的客户端 ID,不是租户 ID、用户 ID 或 Client Secret。
Token endpoint
复制身份提供方文档中用于 Client Credentials 的 HTTPS Token endpoint。需要准确的主机和路径,不能带 query、fragment 或内嵌的用户名密码。
客户端认证
客户端认证 默认 HTTP Basic,按身份提供方的要求选择 HTTP Basic(client_secret_basic)或 请求正文(client_secret_post)。两者的区别只是换取令牌时把 Client ID 和 Client Secret 放在哪里:前者放在 HTTP Basic 认证头,后者放在请求正文。
Scopes
在 Scopes 中填写已在身份提供方授予客户端的 scope,以空格或逗号分隔;不需要时留空。填写 scope 不会自动在身份提供方申请权限。
Resource
服务要求令牌指明用途时(例如需要 OAuth2 凭证的 MCP 服务),在 Resource(可选)中填写服务文档给出的资源标识,通常是服务的地址,例如 https://api.example.com/mcp;它必须是不带 # 片段的完整 URI。填写后,每次换取令牌都带上它(RFC 8707 的 resource 参数);服务没有要求时留空。
Client ID、Token endpoint、客户端认证、Scopes 和 Resource 创建后不能修改;替换凭证 只更新 Client Secret。需要改这些配置时新建凭证,见修改与替换。
网络
所属连接器指定了网络隧道时,业务请求以及换取、刷新令牌都经由这条隧道。隧道不可用时请求失败;切换隧道后,平台会重新换取令牌。连接器没有指定隧道时,换取令牌不经过隧道,由平台直接访问 Token endpoint。
验证
保存后,请 ZAI 用官方文档中的最小只读请求验证;凭证失效时用 替换凭证 更新。换取令牌失败时(例如 Token endpoint 不可达、Client Secret 被拒绝),这次请求也会失败。服务拒绝了一个还没到期的令牌时,下一次请求会重新换取令牌。排查顺序见验证与排错。