Dify 企业版支持为组织成员实施强制单点登录(SSO)。开启后团队内的成员必须通过身份提供商(例如 Microsoft Entra ID、Okta 以及 GitHub 等身份验证供应商)登录 Dify 企业平台。

系统管理员只需要在 Authentication 页选择对应的协议并配置参数,即可为 Dify 企业版开启更加安全的身份认证体系,支持 OpenID Connect (OIDC) 、SAML 和 OAuth2 协议。

SSO 应用范围

根据面向用户的范围,Dify 企业版的 SSO 认证系统提供了以下两种不同范围的单点登录(SSO)配置选项:

内部用户

内部用户指的是已在 Dify 企业版工作空间内注册或在管理后台添加的成员。

Workspace

  • 控制用户如何访问 Dify 企业版工作空间。
  • 启用后,所有用户在进入任何工作空间之前都需要通过你指定的身份提供商(IDP)进行身份验证。

Web App

  • 控制内部用户访问在 Dify 企业版平台内创建的 Web App。
  • 启用后,内部用户访问任何由 Dify 企业版平台创建的 Web 应用之前都需要通过身份提供商(IdP)的身份验证,鉴权后才能够被允许访问。该设置为全局选项,暂时无法单独控制某个单独的 WebApp 开启/关闭权限。如需开启对单独 Webapp 进行人员权限分组,请参考应用访问权限管理

Workspace 和 Webapp SSO 的 Callback URL 有所分别,请注意区分。

外部用户

外部用户指的是未加入 Dify 企业版内的成员。

Web App

  • 外部用户通过 SSO 认证后,可以访问 Dify 企业版平台内创建的 Web 应用。

  • 启用后,用户访问任何由 Dify 企业版创建的 Web 应用之前都需要通过身份提供商(IdP)的身份验证,鉴权后才能够被允许访问。

该权限范围的 Web App Callback URL 与面向内部用户的 Web App 有所不同,请注意区分。

⚠️ 注意事项

出于安全性考虑,部分身份提供商(IDP)会禁用在 iframe 页面中启用 SSO 鉴权。这可能会影响 WebApp 嵌入至其它网页的情况,你需要检查身份提供商(IDP)的 CSP: frame-ancestors 配置以确保正常启用该功能,详细说明请参考此文档

以下是不同 IDP 供应商所提供的差异化安全策略:

  • Azure EntraID 由于安全问题,明确不允许 SSO 登录页面被嵌入至 iframe 页面。
  • Okta 配置 SSO 登录页面允许被嵌入,详细说明请参考 Okta 官方文档

配置 SSO 认证

管理员可以轻松地将 Dify 企业版与各种身份提供商集成,例如 Okta、OneLogin 或 Azure Active Directory (Azure AD)。 Dify 企业版支持任何符合 OIDC 要求的或 SAML 身份提供商配合使用。

你可以参考以下 SSO 提供商配置指南:

设置会话超时限制

该选项用于设置组织成员的会话持续时间。超过该时间后,系统将提示成员重新向身份提供商进行身份验证,以重新获得访问 Dify 企业版资源的权限。

默认值为 7 天。

开启 SSO 认证

轻点 SSO Enforcement 栏中的蓝色按钮开启 SSO 认证,管理员可以选择为 Workspace 或 Web App 开启登录认证。

常见问题

详细说明请参考 常见问题