小编Thi*_*kaD的帖子

如何将 SameSite 和 Secure 属性设置为 JSESSIONID cookie

我有一个 Spring Boot Web 应用程序(Spring Boot 版本 2.0.3.RELEASE)并在 Apache Tomcat 8.5.5 服务器中运行。

谷歌浏览器最近实施的安全策略(自 80.0 起推出),要求应用新SameSite属性,使跨站点 cookie 访问以更安全的方式而不是 CSRF。正如我什么也没有做相关的是和Chrome已设置默认值,SameSite=Lax为第一方Cookie,我的第三方服务集成的一个失败,由于原因,铬是制约跨站点的cookie的访问时SameSite=Lax,如果第三方响应来自POST请求(一旦程序完成第三方服务重定向到我们的站点的POST请求)。在那里 Tomcat 无法找到会话,因此它附加了一个新的JSESSIONID(有一个新会话,前一个会话被终止)在 URL 的末尾。因此 Spring 拒绝该 URL,因为它包含由新JSESSIONIDappend引入的分号。

因此,我需要更改JSESSIONIDcookie 属性 ( SameSite=None; Secure) 并以多种方式进行尝试,包括 WebFilters。我在 Stackoverflow 中看到了相同的问题和答案,并尝试了其中的大部分,但最终无果而终。

有人可以想出一个解决方案来更改 Spring Boot 中的这些标头吗?

java cookies spring spring-boot samesite

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

cookies ×1

java ×1

samesite ×1

spring ×1

spring-boot ×1