我有一个 Web 应用程序,我们正在调用第三方来处理一些数据。完成后,第三方将重定向回我的应用程序(这是一个帖子重定向)。为了保持会话,我们使用 cookie。在谷歌浏览器更新后,samesite=Lax 的默认值,我更新了我们的 cookie 以作为 samesite=None; 安全地克服这个问题。现在在 google chrome 版本 91 之后,这个实现不起作用,我遇到了会话到期问题。有人可以帮助解决 google chrome 91 及更高版本的这个问题吗?我正在使用 java
问问题
177 次
1 回答
0
我们能想到的最好的方法是客户端元刷新。当第三方回发到我们的应用程序时,我们有一个页面过滤器,会将其发送到类似于https://www.w3.org/TR/WCAG20-TECHS/H76.html的“refreshMeta”页面。这必须在不调用任何地方的 .getSession() 的情况下发生,因为这将导致创建一个新会话。这会导致页面在浏览器中刷新并将所有原始 cookie 发送回服务器,因为它来自同一个域并且没有创建新会话。
我会说这工作了一段时间,但看起来 Tomcat 发生了变化,这阻止了这种方法像在早期版本上那样工作,这就是我重新寻找另一个解决方案的原因。
于 2021-10-19T21:41:09.067 回答