keycloak - "Session doesn' t have required client"是什么意思?

标签 keycloak

我有一个关于 Keycloak 4.8.3 的问题。

我正在使用 spring 安全适配器通过 keycloak 和启用的登录功能来保护我们的网络应用程序:记住我。

用户从浏览器登录,然后重定向回 Web 应用程序。

然后,我们的 Web 应用程序使用 KeycloakRestTemplate 在内部调用另一个 Keycloak 安全的 REST-API 端点,因为我们还需要使用 Web 应用程序的同一用户来授权这些调用。

重点是:我想将授权 token 用于另一个 REST-API 服务方法。

一段时间后,REST-API 调用失败并显示以下错误消息:

ERROR RefreshableKeycloakSecurityContext Refresh token failure status: 400 {"error":"invalid_grant","error_description":"Session doesn't have required client"}

并且 keycloak 日志文件包含以下警告:
17:25:51,929 WARN  [org.keycloak.events] (default task-1) type=REFRESH_TOKEN_ERROR, realmId=EHotel, clientId=IBE, userId=f:8db533c4-9733-48d4-8b30-28a50954b7ad:khaendel, ipAddress=192.168.1.76, error=invalid_token, grant_type=refresh_token, refresh_token_type=Refresh, refresh_token_id=9fba841f-54bb-4c81-8f7b-6a7e1c5ab92e, client_auth_method=client-secret

我无法预测这种情况究竟何时发生,大概是在 15 分钟或一个小时之后。 token 到期设置如下:
SSO session 空闲:15 分钟
SSO session 最长:15 分钟
SSO session 空闲记住我:1 天
SSO session 最大记住我:1 天
访问 token 生命周期:5 分钟

错误消息( session 没有必需的客户端)是什么意思和

我究竟做错了什么?

远程调试显示:
看起来,在 keycloak 服务器上涉及到一个客户端 session 缓存(InfinispanUserSessionProvider),它会在一段时间后丢失信息。

我希望使用 keycloak token 验证另一个 REST-API 服务,该服务与我们的安全 Web 应用程序具有相同的用户。但是因为报错信息,刷新 token 不能使用,只要SSO session 。

最佳答案

Keycloak 开发团队已经确认,这是当前版本的 keycloak 4.8.3 中的一个错误。
客户端 session 在较长的记住我 session 期间必须有效。
此错误将在下一个版本中修复。 Jira Ticket 在撰写本文时不可用。

关于keycloak - "Session doesn' t have required client"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54647218/

相关文章:

angular - key 斗篷中请求的资源上不存在 'Access-Control-Allow-Origin' header

keycloak - 如何从 Keycloak REST API 获取用户?

javascript - 如何伪造 keycloak 调用以用于本地开发?

KeyCloak - 入口不允许通过 https 服务连接

spring-boot - Spring Boot、Keycloak 和 Vaadin 集成问题

java - 基于自定义属性的 Spring Boot SOAP Web 服务的 Keycloak 身份验证

node.js - 使用 keycloak.protect() 和 express.Router()

keycloak - 哪些角色使 Keycloak 领域中的用户能够使用 Admin-REST-API?

mysql - Keycloak/Wildfly 由于组复制 mysql 数据库而失败,没有太多提示为什么 : "RuntimeException: Failed to update database"

kubernetes - 如何在 Keycloak Operator (v13.0.0) 上使用自定义主题?