Keycloak无限重定向

问题描述 投票:6回答:2

我们正在使用Keycloak 2.3.0.Final,我们正在使用/auth/js/keycloak.js提供的Javascript适配器。使用此适配器的应用程序是React + Redux应用程序,但这无关紧要。

当我们完成docs中描述的身份验证过程时,初始身份验证是成功的,但是当login-status-iframe.html尝试刷新令牌时,我们得到403 Forbidden。它用于刷新令牌/auth/realms/<customer-realm>/protocol/openid-c…id=web-portal&origin=http%3A%2F%2Flocalhost%3A8080&session_state=undefined的确切URL。这会导致重新定位,一次又一次。

我假设这打破了因为session_state param是undefined但遗憾的是我找不到关于这个主题的任何文件。

我该如何解决这个问题?

javascript reactjs openid http-status-code-403 keycloak
2个回答
0
投票

我遇到了类似keycloak的问题,但你的解决方案可能不一样。

根本原因是,我已经启动了多个keycloak实例,但是loadbalancer没有粘性会话。因此,每当请求进入不同的实例时,cookie在该实例上无效,它将重定向到登录,并且因为它被记录在该过程中将再次重复。

对于解决方案,我将keycloak归结为一个实例,我正在查看有关如何运行keycloak集群的keycloak文档。


0
投票

这几乎肯定会发生,因为您的路由器处于“哈希”模式并使用路由的哈希值。我还没有弄清楚如何让keycloak javascript适配器与基于散列模式的路由正常工作,但至少你应该知道这是你遇到的问题。在Vue中,您可以将路由器设置为“历史”模式,它可以在没有哈希的情况下工作,并且可以解决问题。我打赌React具有相同的功能,作为一种解决方法。

(我意识到这个问题已经过时了,但它在duckduckgo搜索的顶部出现了问题,并且当前版本的javascript适配器仍然存在问题,所以我觉得它可以使用答案)

© www.soinside.com 2019 - 2024. All rights reserved.