首页 > 解决方案 > Keycloak 与 IDP 和 SSO 的集成

问题描述

在这一点上,我的问题更具理论性。

我有一个用例,我必须将我的应用程序(应用程序 1)与 Keycloak 和 Keycloak 与外部身份提供者集成。在这种情况下,Keycloak 只是一个经纪人。在该外部 IDP 上还注册了其他应用程序。

场景 1:用户既没有登录 App 1,也没有登录 IDP

当用户尝试访问 App 1 时,它最终被重定向到外部 IDP 登录表单并发布身份验证后,它将被重定向回应用程序。这是一个简单的流程。

场景 2:用户已经登录 IDP

当用户已经登录 IDP、会话处于活动状态并且现在访问 App 1 时会发生什么。它是否仍会显示登录表单,或者最终会重定向到 App 1 而不会提示输入用户名和密码?

只有当这可能时,真正的 SSO 才是可能的,因为并非每个应用程序都必须通过相同的 Keycloak(可能有一些应用程序直接与外部 IDP 集成)

标签: single-sign-onkeycloakidp

解决方案


应用程序通常会重定向到 Keycloak 进行身份验证。Keycloak 检测到有效的 IDP 会话(来自 cookie),它直接返回代码/令牌而不询问用户凭据。

但像往常一样“这取决于”。您的应用程序中可能有奇怪的“SSO”实现(例如直接授权流程),您可能在您的应用程序/登录中使用 iframe,您可能在 Keycloak 中配置了自定义身份验证流程,......所有这些都可能会破坏默认 SSO行为。但默认情况下,SAML/OIDC 是 SSO 协议。


推荐阅读