Keycloak SSO 会话空闲时间始终设置为 30 分钟

Lio*_*elB 6 session timeout single-sign-on keycloak

我正在开发一个项目,使用最新的 Keycloak 版本、Spring Boot 和 Spring Oauth2 以及 Angular 作为前端层。

这是我的 keycloak 令牌配置:

在此输入图像描述

无论我在 kecloak 服务器上为“SSO Session Idle”属性设置什么值,30 分钟后都会出现 RFRESH_TOKEN_ERROR(这是基于官方文档的该属性的默认值),之后我无法调用任何后端端点不再存在,我的令牌已失效,所有调用都是使用匿名身份验证对象进行的。

我应该怎么做才能让这个属性发挥作用(在我的例子中,它不应该在 10 小时之前使令牌失效)?我是否必须以某种方式从前端刷新令牌以避免我的令牌失效?我应该如何处理客户端不活动超时,以便用户不必每 30 分钟再次登录?

任何帮助或示例将不胜感激。

keycloak 服务器上客户端的高级设置: 客户端设置

Mah*_*esh 0

我在客户端遇到了同样的问题。在客户端刷新令牌后,我能够解决该问题。我使用了以下代码。这可能会有所帮助。好心检查。

keycloak.onTokenExpired = () => {
   console.log(">>> Re-Authenticated");
   keycloak.updateToken(50);
};
Run Code Online (Sandbox Code Playgroud)