我面临一个问题,我认为我的访问令牌需要一个滑动到期时间。我在 glassfish 服务器上运行,使用org.keycloak.adapters.servlet.KeycloakOIDCFilter来检查所有请求。我设置的过滤器检查 AccessToken 并通过确保令牌没有过期来询问访问:
KeycloakSecurityContext kc = (KeycloakSecurityContext) req
.getAttribute(KeycloakSecurityContext.class.getName());
AccessToken token = RSATokenVerifier.create(kc.getIdTokenString()).getToken();
if(token.isExpired()) {
response.redirect("logout url");
}
这工作正常。但是,在我的应用程序中,我有一个屏幕,用户可以在其中花费长达一个小时输入信息,在这些屏幕上他们可能会在完成提供糟糕的用户体验之前被踢出。在某些情况下,正在进行 ajax 调用并且响应设置为重定向到导致不良行为的注销页面。
我真的认为我需要始终检查过期,但我不确定如何在过期时请求新令牌。我很感激我能得到的任何帮助。谢谢!