本篇文档将以 GitHub 作为 SSO 身份提供商为例,演示如何为 Dify 企业版开启 OAuth2 授权协议。

通过启用此功能,企业版登录页将使用统一的身份认证入口以增强安全性。对于企业内部用户而言,无需输入复杂密码,使用组织账号登录即可通过验证,简化登录流程。

1. 在 GitHub 中创建 OAuth App

  1. 访问 GitHub 管理员后台页,导航至 Settings 页,选择 OAuth Apps 并创建新的 OAuth 应用。

  1. 按照页面提示,依次填写以下内容并完成应用创建:
  • Application name 必填项,应用名称,可自拟。
  • Homepage URL 必填项,主页链接,建议填写 Dify 企业版平台 URL。
  • Application description 选填项,应用描述。
  • Authorization Callback URL 必填项,回调链接,获取方法请参考下文

如需了解更多关于 GitHub 的 OAuth2 应用创建方法,请参考 GitHub 文档

2. 获取 Callback URL

根据所需要开启的 SSO 范围,Callback URL 有所差异。系统管理员需要将 Dify 企业版的 Callback URL 填写至对应的 GitHub OAuth2 应用程序内以完成创建流程。

点击 Dify 企业版的 Authentication 页,轻点 Workspace Settings 区域内的 ”+ New Identity Provider → New OAuth2 Provider”,在底部查看 Callback URL。

它通常为以下格式:

https://[your-dify-enterprise-url]/console/api/enterprise/sso/oauth2/callback
  1. 将其粘贴至 OAuth2 App 内的 Authorization callback URL 字段内。

3. 开启 OAuth2 认证

访问 Dify 企业版 Authentication 页,轻点 ”+ New Identity Provider → New OAuth2 Provider”,按照提示依次填写信息并完成配置。

前往 OAuth 应用程序,获取以下信息:

  • Client ID
  • Client Secrets

不同的 OAuth2 供应商的基础信息有所差异,具体以各个供应商的官方文档为准。以下信息仅用于参考,可按照实际需求进行调整。

  • Authorization Endpoint: https://github.com/login/oauth/authorize
  • Token Endpoint: https://github.com/login/oauth/access_token
  • User Info Endpoint: https://api.github.com/user
  • Scopes: openid,profile,email

4. 开启 SSO 强制认证(可选)

系统管理员打开以下两种场景的 SSO Enforcement 选项,开启强制认证:

  • Workspace,登录 Dify 企业版 Workspace 时要求通过授权。
  • WebApp, 使用由当前 Dify 企业版所创建的应用时,要求通过验证。

开启后,访问对应场景时将提示需获取访问授权。