Keycloak 什么是;会话不';“没有必要的客户”;什么意思?

Keycloak 什么是;会话不';“没有必要的客户”;什么意思?,keycloak,Keycloak,我有一个关于Keyclope 4.8.3的问题 我正在使用spring安全适配器通过KeyClope和启用的登录功能:记住我来保护我们的web应用程序 用户从浏览器登录,并重定向回out web app 然后,我们的web应用程序使用KeyDopperRestTemplate在内部调用另一个KeyDopper安全REST-API端点,因为我们还需要使用web应用程序的同一用户对这些调用进行授权 要点是:我想将授权令牌用于另一个REST-API服务方法 经过一段时间后,REST-API调用失败,并

我有一个关于Keyclope 4.8.3的问题

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

用户从浏览器登录,并重定向回out web app

然后,我们的web应用程序使用KeyDopperRestTemplate在内部调用另一个KeyDopper安全REST-API端点,因为我们还需要使用web应用程序的同一用户对这些调用进行授权

要点是:我想将授权令牌用于另一个REST-API服务方法

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

ERROR RefreshableKeycloakSecurityContext Refresh token failure status: 400 {"error":"invalid_grant","error_description":"Session doesn't have required client"}
并且keydape日志文件包含以下警告:

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分钟后还是一小时后。令牌过期设置如下: SSO会话空闲:15分钟 SSO会话最长:15分钟 记住我:1天 SSO会话最大记住我:1天 访问令牌寿命:5分钟

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

我做错了什么

远程调试显示: 似乎keydepot服务器上有一个客户端会话缓存(InfinispanUserSessionProvider),它会在一段时间后释放信息


我希望使用KeyClope令牌对另一个REST-API服务进行身份验证,该服务的用户与我们的安全web应用程序的用户相同。但是,由于出现错误消息,刷新令牌不能在SSO会话期间使用。

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

您知道哪个版本可以解决此问题吗?这将非常有用:)我的更正是:第532行:
.filter(AuthenticatedClientSessionPredicate.create(realm.getId()).expired(expiredRememberMe))
而不是
.filter(AuthenticatedClientSessionPredicate.create(realm.getId()).expired(Math.min(expired,expiredRememberMe))
这在5.0中被错误更正:-(