Skip to main content
本篇文档将以 Okta 作为 SSO 身份提供商为例,演示如何为 Dify 企业版开启 OAuth2 授权协议。 通过启用此功能,企业版登录页将使用统一的身份认证入口以增强安全性。对于企业内部用户而言,无需输入复杂密码,使用组织账号登录即可通过验证,简化登录流程。
本文将出现内部用户和外部用户的表述。现作出以下区分说明: 内部成员:在 Dify 企业版工作空间内注册或在管理后台添加的成员。 外部用户:未在 Dify 企业版内的成员

1. 在 Okta 中创建一个新的应用程序

  1. 访问 Okta 的管理员后台页,导航到 Applications 页,轻点 Create App Integration 按钮。,选择 OIDC 登录方法和 Web Application。
  2. 按照页面提示填写应用名称、按照需求定义授权范围等信息。
  • Sign-in redirect URIs 字段需填写 Dify 企业版 Callback URL,获取方法请参考下文。
  • Sign-out redirect URIs 字段留空。

2. 获取Callback URL, 并配置 Okta 应用程序

根据所需要开启的 SSO 范围,Callback URL 有所差异。系统管理员需要将 Dify 企业版的 Callback URL 填写至对应的 Okta 应用程序内以完成创建流程。
  1. 点击 管理后台 → 身份认证 → 成员认证 → SSO 身份提供商 → 新建身份提供商 → 新建 OAuth2 提供商,在底部获取 Callback URL。
它通常为以下格式:
  1. 将其粘贴到 Okta 应用中的 Sign-in redirect URIs 字段并保存应用程序。

3. 开启 OAuth2 认证

3.1 在 Okta 应用程序中获取关键信息

  1. 前往 Okta 应用程序的 “General” 页,复制以下字段中的信息,用于后续配置:
    • Client ID
    • Client secret
  2. (可选)勾选 代码交换证明密钥 (PKCE) → 要求 PKCE 作为附加验证,然后点击 保存。勾选此选项后,Okta 将在交换授权码为令牌时强制验证 code_verifier,降低授权码拦截攻击风险。
  3. 切换至 “Sign On” 页,将 Issuer 切换为固定链接。

3.2 配置 OAuth2 认证

访问 Dify 企业版 Authentication 页,轻点 ”+ New Identity Provider → New OAuth2 Provider”,按照提示依次填写以下信息:
  • Client ID
  • Client Secrets
  • 如果在 Okta 应用程序中启用了 PKCE 验证,您需要在窗口中启用 PKCE 附加验证 开关
不同的 OAuth2 供应商的基础信息有所差异,具体以各个供应商的官方文档为准。以下信息仅用于参考,可按照实际需求进行调整。
  • Authorization Endpoint: https://your-okta-issuer-url/v1/authorize
  • Token Endpoint: https://your-okta-issuer-url/v1/token
  • User Info Endpoint: https://your-okta-issuer-url/v1/userinfo
  • Scopes: openid,profile,email
如何获取 your-okta-issuer-url:Security → API → Authorization Servers → Issuer URI。如需了解如何通过 Okta App 获取更多字段信息,请参考 Use of the Issuer。

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

系统管理员打开以下两种场景的 SSO Enforcement 选项,开启强制认证:
  • Workspace,登录 Dify 企业版 Workspace 时要求通过授权。
  • WebApp, 使用由当前 Dify 企业版所创建的应用时,要求通过验证。
开启后,访问对应场景时将提示需获取访问授权。