You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jakarta Faces+OIDC环境下Ajax请求会话失效后302重定向问题

问题:Jakarta Faces + OIDC会话失效后Ajax请求无法正确处理

环境配置

  • Jakarta Faces 4.0
  • OIDC Jakarta Security
  • Elytron Oidc Client
  • Wildfly 27.0.1
  • Keycloak 21.0.2(未使用Wildfly适配器)

正常流程

点击安全链接会自动重定向到Keycloak登录页,登录完成后可返回原访问链接,这部分功能正常。

问题现象

登录后打开两个安全页面标签,在第一个标签执行注销操作后,第二个标签的所有Ajax请求全部失效:

  • 会话失效后点击Ajax按钮,服务器返回302重定向响应,而非预期的<partial-response><redirect格式的Faces Ajax响应,导致前端Ajax无法正确处理
  • 已配置Omnifaces的异常处理器,配置代码如下:
    <factory>
      <exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
      <exception-handler-factory>org.omnifaces.exceptionhandler.ViewExpiredExceptionHandlerFactory</exception-handler-factory>
    </factory>
    
  • Wildfly已配置反向代理避免跨域问题,且要求跳转登录时不改变URL

疑问与已做尝试

  1. Wildfly中哪个组件负责生成这个302重定向响应?
  2. 如何正确处理会话失效场景下的Ajax请求,让其返回符合Faces规范的Ajax重定向响应?
  3. 尝试设置autodetect-bearer-only后,POST请求不再返回302而是401,但无法衔接Jakarta Security与浏览器客户端,且无该配置时Ajax请求在会话有效期间正常工作。

内容的提问来源于stack exchange,提问作者Janez Puntar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 08:22:40