是否可以通过 KeyCloak 为一组 webapp 配置 2 个不同的 SSO (AD)?

Posted

技术标签:

【中文标题】是否可以通过 KeyCloak 为一组 webapp 配置 2 个不同的 SSO (AD)?【英文标题】:Is it possible to have 2 different SSOs (ADs) configured for a group of webapps through KeyCloak? 【发布时间】:2019-09-20 18:18:53 【问题描述】:

我们有一组通过 KeyCloak 使用 Okta 进行 SSO 的云 Web 应用程序(假设有 5 个 Java Web 应用程序)。 SAML 用于使用 Keycloak 作为身份代理在 webapp 和 Okta 之间进行身份验证。

现在客户想要从 Okta 迁移到 Azure AD。我已经完成了 POC 以将 keycloak 连接到 Azure AD,并使用 SAML 在 webapps 和 Azure AD 之间进行身份验证。

但这里的问题是,客户还希望在过渡期间将一些用户保留在 Okta 中。因此,他们需要在一段时间内同时使用 Okta 和 Azure AD 来为这些 web 应用程序进行 SSO。

是否可以在 Keycloak 中为同一应用程序配置 Okta 和 Azure AD(基本上是 2 个不同的身份验证服务器/Idps),并动态地由 keycloak 决定它应该去哪里进行身份验证?

总的来说,我知道为 SSO 设置 2 个不同的身份验证服务器并不是一个好的设计,但客户在过渡期间需要它。

【问题讨论】:

【参考方案1】:

是的。您可以在 Keycloak 中配置多个 IdP,也可以将其中一个定义为默认值。

https://www.keycloak.org/docs/3.3/server_admin/topics/identity-broker/saml.html

【讨论】:

以上是关于是否可以通过 KeyCloak 为一组 webapp 配置 2 个不同的 SSO (AD)?的主要内容,如果未能解决你的问题,请参考以下文章

Android 内容提供程序 - 是不是可以将提供程序限制为一组不是我编写的应用程序?

PyTesseract - 将 OCR 限制为一组字符

是否可以告诉 Spring Boot Keycloak 适配器 Keycloak 服务器可能有多个别名?

仅创建用户 Keycloak 角色?

在 C# 中使用递归为一组变量赋值?

如何配置 Keycloak 服务器实例以同时支持开发和 UAT 环境?