gpt4 book ai didi

java - 使用 Keycloak 中的离线 cookie 实现单点登录 (SSO)

转载 作者:行者123 更新时间:2023-12-01 19:48:07 28 4
gpt4 key购买 nike

我们可以在 Keycloak 中使用离线 cookie 实现单点登录 (SSO) 吗?

我有应用程序“A”连接到 Keycloak 7.0.1 (KC) 服务器进行身份验证。 KC 为“clientA”下的用户生成 Activity session 和离线 session ,并将访问 token 和离线 token 返回给用户。离线 token 的有效期为 X 天。因此,当用户再次尝试连接到应用程序“A”时,它会使用离线 cookie 来获取访问 token ,并且用户会获得身份验证。因此,身份验证正在使用应用程序“A”的离线 cookie 进行。

现在我有另一个应用程序“B”,假设它托管在相同或不同的域上。 KC 能够访问相同的离线 cookie,但不允许进行身份验证。此应用程序的客户端是“客户端 B”。我收到的错误是“ session 没有所需的客户端”

查看错误并阅读文章,我了解到两个不同的客户端无法访问相同的离线 cookie。但我仍然想知道是否有人遇到过这种情况,以及允许两个应用程序使用相同的离线 cookie 的方式是什么,或者我们是否缺少任何 keycloak 配置。

编辑此问题:我们是否可以拥有任何 REALM 级别的离线 token ,而不是为领域中的每个客户端创建不同的离线 token ?

最佳答案

keycloak 用于为不同的应用程序生成凭据,您需要在同一领域中为应用程序 b 创建第二个客户端(您说您已经这样做了)。

我认为您不能使用从应用程序 a 到应用程序 b 的访问 token 。如果两个应用程序共享相同的私钥,也许您可​​以根据生成 token 的方式来执行此操作,但如果您这样做,则可能不需要 keycloak。

然后在此客户端中发出授权请求,因为您已经在 keycloak 中有一个 session ,这应该会自动发生并生成应用程序 b 所需的凭据。

要查看这是否正常工作,我会尝试直接在应用程序 b 中登录,转到 keycloak,在那里登录并查看提供的 token 是否可以让我登录应用程序 b。

很抱歉您的回答如此高水平,但您的问题本身也相当高水平。

关于java - 使用 Keycloak 中的离线 cookie 实现单点登录 (SSO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59106812/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com