java - 在 keycloak 中跳过 kerberos sso 身份验证

标签 java single-sign-on keycloak kerberos spnego

在某些情况下,我们需要跳过通过 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/

相关文章:

java - Java 中 StringTokenizer 类与 String.split 方法的性能对比

java - 在Java中获取两个不同字符串之间的共同值

java - 你能命名一个抽象类对象吗?

java - 如何使组织管理员能够以 cas 服务器 SSO 中的任何用户身份登录

java - 跨领域身份验证后的 Keycloak 领域特定授权

java - 获取字节数组中 1 的索引

php - 在 Laravel 中使用单点登录 (SSO) 登录

tomcat - 我想在我的 Web 应用程序中使用域登录

oauth - 每个设备是否应该通过资源所有者密码凭据对 Keycloak 中的用户进行身份验证

oauth-2.0 - 无法使用 Bearer Token 通过 Keycloak 进行身份验证