为什么 keyclock 显示错误“您已在此会话中以不同用户 '0000000021' 身份进行身份验证。请先退出。”?

PRA*_*ASH 5 java oauth-2.0 openid-connect keycloak keycloak-services

我使用 keyclock 作为授权管理器。如果以用户 (user1) 身份登录并在 1 天后尝试再次登录,当输入新用户凭据 (user2) 时,它将重定向到登录页面(SSO 失败),其显示您已在此会话中以不同用户“0000000021”身份进行身份验证。请先退出。但是,当检查浏览器时,会保留这 2 个会话,而所有其他会话都丢失。当我们手动删除除 AUTH 会话之外的所有会话时,问题可能会重新生成。我不知道它在真实场景中是如何发生的。

在此输入图像描述

这是错误显示

在此输入图像描述

当浏览键盘时钟代码时,我看到了这一点。

        if (!authSession.getAuthenticatedUser().equals(userSession.getUser())) {
            event.detail(Details.EXISTING_USER, userSession.getUser().getId());
            event.error(Errors.DIFFERENT_USER_AUTHENTICATED);
            throw new ErrorPageException(session, authSession, Response.Status.INTERNAL_SERVER_ERROR, Messages.DIFFERENT_USER_AUTHENTICATED, userSession.getUser().getUsername());
        }
Run Code Online (Sandbox Code Playgroud)

完整代码在这里

但我不知道 Auth 会话何时保持活动且 SSO 会话何时丢失。

我的令牌配置是

在此输入图像描述