在某些情况下,我们需要跳过通过 Kerberos 的自动登录。
根据documentation这应该通过参数 ?prompt=login
:
prompt - Keycloak supports these settings:
- login - SSO will be ignored and the Keycloak login page will be always shown, even if the user is already authenticated
这在大多数情况下都有效(我们还使用 NTLM 华夫饼实现),但使用 Kerberos,用户始终会自动登录。
有任何提示或想法为什么吗?
是否有其他方法可以强制转发到登录页面?
编辑:我需要跳过 Kerberos 身份验证的原因是因为我需要使用管理员帐户登录,必须输入用户名+密码。
EDIT2:我们使用的是 Keycloak.x 版本 14.0.0,也适用于版本 15.0.2。
最佳答案
参数?prompt=login
只会跳过身份验证流程中的Cookie 身份 validator 。 Cookie validator 的执行将被标记为已尝试但未成功。因此 Keycloak 将回退到替代身份 validator 。我假设 Kerberos 身份 validator 被配置为替代方案。如果是这种情况,您将(自动)通过 Kerberos 身份 validator 进行身份验证。
如果您只需要对特定客户端执行此行为,您可能需要为该客户端创建一个不带 Kerberos 身份 validator 的附加身份验证流程。使用身份验证流覆盖
为客户端配置新流。
关于java - 在 keycloak 中跳过 kerberos sso 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69627486/