使用 Okta 配置 OAuth2
本篇文档将以 Okta 作为 SSO 身份提供商为例,演示如何为 Dify 企业版开启 OAuth2 授权协议。
通过启用此功能,企业版登录页将使用统一的身份认证入口以增强安全性。对于企业内部用户而言,无需输入复杂密码,使用组织账号登录即可通过验证,简化登录流程。
1. 在 Okta 中创建一个新的应用程序
- 访问 Okta 的管理员后台页,导航到 Applications 页。轻点 Create App Integration 按钮,选择 OIDC 登录方式和 Web Application 应用类型。
- 按照页面提示填写应用名称、按照需求定义授权范围等信息。
Sign-in redirect URIs
字段需填写 Dify 企业版 Callback URL,获取方法请参考下文。Sign-out redirect URIs
字段留空。
2. 获取 Callback URL
根据所需要开启的 SSO 范围,Callback URL 有所差异。系统管理员需要将 Dify 企业版的 Callback URL 填写至对应的 GitHUb OAuth2 应用程序内以完成创建流程。
点击 Dify 企业版的 Authentication 页,轻点 Workspace Settings 区域内的 ”+ New Identity Provider → New OAuth2 Provider”,在底部查看 Callback URL。
它通常为以下格式:
- 将其粘贴至 Okta App 内的 Sign-in redirect URIs 字段内。
3. 开启 OAuth2 认证
3.1 在 Okta 应用程序中获取关键信息
-
前往 Okta 应用程序的 “General” 页,复制以下字段中的信息,用于后续配置:
- Client ID
- Client secret
-
切换至 “Sign On” 页,将 Issuer 切换为固定链接。
3.2 配置 OAuth2 认证
访问 Dify 企业版 Authentication 页,轻点 ”+ New Identity Provider → New OAuth2 Provider”,按照提示依次填写以下信息:
- Client ID
- Client Secrets
不同的 OAuth2 供应商的基础信息有所差异,具体以各个供应商的官方文档为准。以下信息仅用于参考,可按照实际需求进行调整。
- Authorization Endpoint:
https://your-okta-issuer-url/oauth2/v1/authorize
- Token Endpoint:
https://your-okta-issuer-url/login/oauth/access_token
- User Info Endpoint:
https://your-okta-issuer-url/oauth2/v1/userinfo
- Scopes:
openid,profile,email
获取
your-okta-issuer-url
的方法:参考上文,将 Okta OAuth2 App 中的 Issuer URL 指定为固定链接并复制信息。如需了解如何通过 Okta App 获取更多字段信息,请参考 Use of the Issuer。
4. 开启 SSO 强制认证(可选)
系统管理员打开以下两种场景的 SSO Enforcement 选项,开启强制认证:
- Workspace,登录 Dify 企业版 Workspace 时要求通过授权。
- WebApp, 使用由当前 Dify 企业版所创建的应用时,要求通过验证。
开启后,访问对应场景时将提示需获取访问授权。