UT000010:Wildfly 23与Pac4J集成时会话失效问题
Google OAuth2登录后Session失效异常排查
项目环境
- deltaspike 1.9.5
- pac4j 3.8.3(使用Google2Client)
- Java 11
- Wildfly 23
Pac4J配置代码
private Config getConfig() { Config config = new Config("/callback", getDirectFormClient(), getJwAuthClient(), getGoogle2Client()); config.getClients().setUrlResolver(new JaxRsUrlResolver()); config.getClients().setAjaxRequestResolver(new JaxRsAjaxRequestResolver()); SessionStore<JaxRsContext> sessionStore = new ServletSessionStore() { private HttpSession applicationSession; public HttpSession getHttpSession(JaxRsContext context) { if (applicationSession == null) { assert context instanceof ServletJaxRsContext; applicationSession = ((ServletJaxRsContext) context).getRequest().getSession(); } return applicationSession; } }; config.setSessionStore(sessionStore); return config; }
登录后一段时间触发的异常
Caused by: java.lang.IllegalStateException: UT000010: Session is invalid ZBZm3NBmhjxSoyrzJyjPD5jVXoqXccctmVILioYd at io.undertow.core@2.2.5.Final//io.undertow.server.session.InMemorySessionManager$SessionImpl.getAttribute(InMemorySessionManager.java:519) at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.spec.HttpSessionImpl.getAttribute(HttpSessionImpl.java:122) at deployment.jakartaee-8-backend.war//org.pac4j.jax.rs.servlet.pac4j.ServletSessionStore.get(ServletSessionStore.java:32) at deployment.jakartaee-8-backend.war//org.pac4j.jax.rs.servlet.pac4j.ServletSessionStore.get(ServletSessionStore.java:18) at deployment.jakartaee-8-backend.war//org.pac4j.core.profile.ProfileManager.retrieveAll(ProfileManager.java:81) at deployment.jakartaee-8-backend.war//org.pac4j.core.profile.ProfileManager.getAll(ProfileManager.java:59) at deployment.jakartaee-8-backend.war//org.pac4j.core.engine.DefaultSecurityLogic.perform(DefaultSecurityLogic.java:102) at deployment.jakartaee-8-backend.war//org.pac4j.jax.rs.filters.SecurityFilter.filter(SecurityFilter.java:55) at deployment.jakartaee-8-backend.war//org.pac4j.jax.rs.filters.AbstractFilter.filter(AbstractFilter.java:42) at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:308) at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:398) at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:365) at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:338) at org.jboss.resteasy.resteasy-jaxrs@3.15.1.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:440) ... 59 more
目前通过Google OAuth2登录成功后,过几分钟就会触发上述Session无效的异常。想问下有没有人遇到过相同问题?是否需要升级Wildfly或Pac4J版本?求任何相关提示。
内容的提问来源于stack exchange,提问作者Shannon
相关产品推荐
相关产品推荐

