OAuth 是一种开放授权标准,允许第三方应用程序在用户授权的情况下访问用户存储在服务商的资源,而无需提供用户名和密码。如果服务支持 OAuth 认证,并且你希望在插件中集成该服务,你可以创建一个支持 OAuth 认证的插件。创建成功后,智能体需要通过 OAuth 授权流程来获取访问令牌,以便安全地调用集成到插件中的服务。
本文以扣子编程 API 为例,为你演示如何创建一个支持 OAuth 认证的插件。
说明
在团队版和企业版中,企业超级管理员可以通过功能访问控制和空间资源可见性,控制成员可见的功能入口和空间资源范围。如果你未看到预期的功能和资源,请联系企业超级管理员确认。更多信息,请参考功能访问控制和空间资源访问控制。
请确保你已经在 API 服务平台创建了 OAuth 应用,并获取了客户端 ID、客户端密钥等信息,详情请参考 API 服务提供商的开发文档。
本示例以在插件中集成扣子编程 API 为例,因此需在扣子编程中创建 OAuth 应用,详情请参考1 创建 OAuth 应用。在创建 OAuth 应用时,需注意如下事项:


https://api.coze.cn。| 配置 | 说明 |
|---|---|
|
client_id |
客户端 ID,是应用在授权服务器中的唯一标识符,授权服务器通过客户端 ID 来识别不同的三方应用。 创建 OAuth 应用时会分配 client_id,本示例输入 |
|
client_secret |
客户端密钥,和客户端 ID 配合使用,用于认证应用的身份,确保只有被授权的应用可以请求授权。 创建 OAuth 应用时会分配 client_secret,本示例输入 |
|
client_url |
服务方的 OAuth 页面URL,用于拼接用户登录授权页的URL。 用户登录插件时,扣子编程会将用户引导至 参考服务方的授权文档获取 client_url ,本示例参考扣子编程开发指南文档,输入 |
|
scope |
允许应用程序请求访问用户数据的范围。 参考服务方的授权文档输入 scope。 |
|
authorization_url |
获取用户 access token 的 URL 地址。 用户通过 参考服务方的授权文档获取 authorization_url,本示例参考扣子编程开发指南文档,输入 |
|
authorization_content_type |
向 OAuth 提供者发送数据的内容类型,目前支持:
|



授权成功后,无论是插件调试还是与智能体对话,每次请求调用插件时,用户授权的 access_token 都会在 header 中传递,具体传递内容为:"Authorization":"[Bearer] [user's access_token]"。
创建插件后,你需要获取插件 ID,用于配置 OAuth 应用的重定向 URL。

https://www.coze.cn/api/plugin_oauth/753316160413368****/authorization_code ,其中 753316160413368**** 为插件 ID,需替换为你在步骤 1 中获取到的插件 ID。
创建插件后,还需要创建工具,以实现将目标 API 添加到插件中作为工具使用。具体操作,请参考步骤二:添加工具。
下图以扣子编程的查看智能体列表 API 为例,展示了工具的配置示例。配置完成后,需单击右上角的试运行。只有当添加的工具试运行通过后,才能发布插件。

发布 OAuth 插件。插件发布后,才可以被智能体使用。具体操作,请参考步骤三:发布插件。

你在低代码智能体、工作流中使用 OAuth 插件时,需要完成授权操作,以确保智能体或工作流在调用 OAuth 插件时可以正常运行。详细说明,请参考为什么插件提示未授权?、如何设置 OAuth 插件的授权模式?。