Documentation Index
Fetch the complete documentation index at: https://dify-6c0370d8-fix-language-redirection.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.

介绍
Dify 的 OAuth 配置涉及两个独立流程,开发者应当充分理解并根据流程进行设计。流程一:OAuth 客户端设置(由管理员 / 开发者完成)
在 Dify Cloud 上,Dify 团队会为热门工具插件创建 OAuth 应用并设置 OAuth 客户端,为用户节省自行配置的麻烦。而对于自托管的 Dify 实例,管理员需自行完成此设置流程。
创建 Google Cloud 项目
创建 Google Cloud 项目
- 前往 Google Cloud Console ,创建新项目或选择现有项目。
- 启用所需的 API(如 Gmail API)。
配置 OAuth 权限请求页面
配置 OAuth 权限请求页面
- 前往 API 和服务 > OAuth 权限请求页面。
- 对于公开插件,选择 外部 受众群体类型。
- 填写应用名称、用户支持邮箱和开发者联系方式。
- (可选)添加授权域名。
- 选择 目标对象 > 测试用户,添加测试用户以进行测试。
创建 OAuth 2.0 凭证
创建 OAuth 2.0 凭证
- 前往 API 和服务 > 凭证。
- 点击 创建凭证 > OAuth 客户端 ID。
- 选择 Web 应用,点击 创建。
- 保存生成的凭证信息,包括客户端 ID 和客户端密钥。
在 Dify 中输入凭证
在 Dify 中输入凭证
在 OAuth 客户端配置窗口中,输入客户端 ID(client_ID)和客户端密钥(client_secret),以将工具供应商设置为客户端。

授权重定向 URI
授权重定向 URI
在 Google OAuth 客户端页面,填写由 Dify 生成的重定向 URI。

Dify 在 OAuth 客户端配置弹窗中显示对于自托管的 Dify 实例,
redirect_uri,通常遵循以下格式:your-dify-domain 应与 CONSOLE_WEB_URL 保持一致。流程二:用户授权(由 Dify 用户完成)
OAuth 客户端配置完成后,Dify 用户即可授权插件访问他们的个人账户。
步骤
1. 在供应商的 Manifest 文件中定义 OAuth 的参数架构
供应商的 Manifest 文件中的oauth_schema 字段为插件 OAuth 定义凭证需求及授权流程产出,涉及以下两种参数架构。
client_schema
定义 OAuth 客户端设置所需的输入参数架构。gmail.yaml
url 字段直接链接至第三方服务的帮助文档,有助于为管理员/开发人员解惑。credentials_schema
定义用户授权流程产生的凭证参数架构(由 Dify 自动管理)。同时包含
oauth_schema 和 credentials_for_provider 字段,为用户提供 OAuth 和 API 密钥两种认证选项。2. 在工具供应商中完成所需的 OAuth 方法实现
在实现ToolProvider 的位置,添加以下代码:
ToolProvider 类必须实现以下三个 OAuth 方法(以 GmailProvider 为例):
3. 在工具中访问令牌
你可以在Tool 实现中使用 OAuth 凭证进行经过身份验证的 API 调用,示例如下:
self.runtime.credentials 自动提供当前用户的令牌。Dify 自动处理令牌刷新机制。
对于同时支持 OAuth 和 API 密钥认证的插件,可使用 self.runtime.credential_type 来区分两种认证类型。
4. 指定正确的版本
插件 SDK 和 Dify 的早期版本不支持 OAuth 认证。因此,需将插件 SDK 版本设置如下:manifest.yaml中, 添加最低 Dify 版本要求:
编辑此页面 | 提交问题