0

我有一个作为中央服务运行的应用程序,它可以作为 i-frame 嵌入到任意网页中。此应用程序在 Wildfly 应用程序服务器中运行,并使用带有 cookie 的服务器端会话。从浏览器的角度来看,这些 cookie 是第三方 cookie。

不久前,谷歌宣布他们将在 2022 年禁用 Chrome 中对第三方 cookie 的支持。我知道如果我希望它与 Chrome 一起使用,我将不得不重新设计应用程序的架构。从理论上讲,我认为应该可以使用没有 cookie 的会话。我可以通过 Javascript 进行 OAuth 2.0 身份验证,并在每个服务器请求中将访问令牌作为不记名身份验证发送。服务器可以使用这个令牌来识别会话。

不幸的是,我不想从头开始构建服务器,我正在使用 Wildfly 为我处理会话。我知道这是一个高级主题,但我会很感激一些提示如何让 Wildfly(或任何其他 Jave EE 容器)使用与 cookie 不同的标识符来识别会话。

4

1 回答 1

0

servlet 3 规范预见了管理会话的 3 种方法:

  • 曲奇饼
  • 网址
  • SSL

web.xml您可以在您的战争中指定所需的模式:

<web-app ...>
  <session-config>
    <tracking-mode>URL</tracking-mode>
    <!--<tracking-mode>COOKIE</tracking-mode> -->
  </session-config>
</web-app>

但我认为您也可以全局定义它,我的意思是在 Wildfly 级别(作为默认模式)

有用的链接: https ://www.logicbig.com/tutorials/java-ee-tutorial/java-servlet/session-tracking-mode.html

于 2021-04-21T07:31:38.590 回答