浏览器单点登录
Neo4j 浏览器提供对单点登录 (SSO) 提供者的支持。 这是一个企业功能,需要特定配置和(自托管)Neo4j 服务器 v4.4 及更高版本。 此外,您还需要一个已配置的兼容 SSO 提供者(本地或外部)。 有关配置的更多信息,请参阅 操作手册 → OIDC 配置设置。
对于除自托管 Neo4j 服务器 v4.4+ 之外的其他部署,SSO 可以通过单独的 OAuth 插件配置,这需要专业服务的参与。 有关专业服务的更多信息,请参阅 https://neo4j.ac.cn/professional-services/。 |
目前支持的提供者包括 OpenID Connect (OIDC) OAuth 2.0 提供者 Google、Keycloak、Microsoft Azure AD 和 Okta。
浏览器支持两种授权流程
-
带有 PKCE 的授权码流程。
-
隐式流程。
强烈建议使用 PKCE 来确保安全性。 有关 OpenID Connect 和 OAuth 的更多信息,请参阅 https://openid.net/connect/。 |
安全信息应始终通过加密传输进行交换,因此应使用 HTTPS。 不支持单点登录的混合 HTTP/HTTPS 流。 |
配置好 SSO 提供者后,您需要配置 Neo4j 使用 OpenID Connect。 这是通过根据 neo4j.conf
文件中的说明更新 操作手册 → 配置 Neo4j 使用 OpenId Connect 来完成的。
确保在 neo4j.conf
文件中避免重复项。
浏览器需要知道可用于身份验证的标识提供者。 当与 Neo4j v4.4+ 一起使用时,这在 neo4j.conf
文件中指定,如上所述。
使用更早版本的 Neo4j 的部署需要单独的 OAuth 插件和专业服务的帮助,如前所述。 但是,在这种情况下,身份提供者可以通过 URL 参数 discoveryURL
指定,该参数定义了一个指向包含 SSO 提供者的 .json 文件的 URL。
浏览器的示例
https://<browser-server-host>:<http-port>?discoveryURL=https://webhost.com/public/discovery.json
为了方便起见,可以使用 sso_redirect=<idp_id>
URL 参数自动触发 SSO 流程,而无需点击浏览器 UI 中的“使用 SSO 登录”按钮。