OAuth 是一种开放授权标准,允许第三方应用程序在用户授权的情况下访问用户存储在服务商的资源,而无需提供用户名和密码。如果服务支持 OAuth 认证,并且你希望在插件中集成该服务,你可以创建一个支持 OAuth 认证的插件。创建成功后,智能体需要通过 OAuth 授权流程来获取访问令牌,以便安全地调用集成到插件中的服务。
本文以扣子编程 API 为例,为你演示如何创建一个支持 OAuth 认证的插件。
请确保你已经在 API 服务平台创建了 OAuth 应用,并获取了客户端 ID、客户端密钥等信息,详情请参考 API 服务提供商的开发文档。
本示例以在插件中集成扣子编程 API 为例,因此需在扣子编程中创建 OAuth 应用,详情请参考1 创建 OAuth 应用。在创建 OAuth 应用时,需注意如下事项:
登录扣子编程。
在页面顶部选择目标工作空间,然后在左侧导航栏中单击资源库。
在页面右上角,选择 +资源 > 插件。
填写插件基础信息。
输入插件名称和描述。
插件工具创建方式选择基于已有服务创建。
插件 URL:输入 API 的服务地址,例如 https://api.coze.cn。
将 API 的 Header 信息配置到 Header 列表中。
授权方式选择 OAuth > standard,然后配置 OAuth 参数。
|
配置 |
说明 |
|---|---|
|
client_id |
客户端 ID,是应用在授权服务器中的唯一标识符,授权服务器通过客户端 ID 来识别不同的三方应用。 |
|
client_secret |
客户端密钥,和客户端 ID 配合使用,用于认证应用的身份,确保只有被授权的应用可以请求授权。 |
|
client_url |
服务方的 OAuth 页面URL,用于拼接用户登录授权页的URL。 |
|
scope |
允许应用程序请求访问用户数据的范围。 |
|
authorization_url |
获取用户 access token 的 URL 地址。 |
|
authorization_content_type |
向 OAuth 提供者发送数据的内容类型,目前支持:
|
单击未授权,然后单击确认。
在授权页,单击授权即可完成 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 插件的授权模式?。