本文将出现内部用户和外部用户的表述。现作出以下区分说明: 内部成员:在 Dify 企业版工作空间内注册或在管理后台添加的成员。 外部用户:未在 Dify 企业版内的成员
1. 在 Okta 中创建一个新的应用程序
-
访问 Okta 的管理员后台页,导航到 Applications 页,轻点 Create App Integration 按钮。选择 OIDC 登录方法和 Web Application。
- 按照页面提示填写应用名称、按照需求定义授权范围等信息。
Sign-in redirect URIs字段需填写 Dify 企业版 Callback URL,获取方法请参考下文。Sign-out redirect URIs字段留空。
2. 获取Callback URL, 并配置 Okta 应用程序
根据所需要开启的 SSO 范围,Callback URL 有所差异。系统管理员需要将 Dify 企业版的 Callback URL 填写至对应的 Okta 的 OAuth2 应用程序内以完成创建流程。- Workspace
- WebApp Members(面向内部用户)
- WebApp External Users(面向外部用户)
- 点击 管理后台 → 身份认证 → 成员认证 → SSO 身份提供商 → 新建身份提供商 → 新建 OIDC 提供商,在底部获取 Callback URL。
- 将其粘贴到 Okta 应用中的 Sign-in redirect URIs 字段并保存应用程序。
3. 开启 OIDC 认证
3.1 在 Okta 应用程序中获取关键信息
-
前往 Okta 应用程序的 “General” 页,找到以下字段:
- Client ID
- Client secret
-
(可选)勾选 代码交换证明密钥 (PKCE) → 要求 PKCE 作为附加验证,然后点击 保存。勾选此选项后,Okta 将在交换授权码为令牌时强制验证
code_verifier,降低授权码拦截攻击风险。 - 切换至 “Sign On” 页中找到 Issuer 字段,将 Issuer 切换为固定链接并复制信息。
3.2 配置 OAuth2 认证
访问 Dify 企业版 Authentication 页,轻点 ”+ New Identity Provider → New OAuth2 Provider”,按照提示依次填写以下信息:- Issuer URL
- Client ID
- Client Secrets
- 如果在 Okta 应用程序中启用了 PKCE 验证,您需要在窗口中启用 PKCE 附加验证 开关
4. 开启 SSO 强制认证(可选)
系统管理员打开以下两种场景的 SSO Enforcement 选项,开启强制认证:- Workspace,登录 Dify 企业版 Workspace 时要求通过授权。
- WebApp, 使用由当前 Dify 企业版所创建的应用时,要求通过验证。
