你知道任何允许为cookie设置自定义标志的JAVA Cookie实现(比如SameSite = strict)吗?它似乎SameSite=strict有严格限制的标志,可以添加.
Tomcat 的 context.xml 定义了 CookieProcessor(默认 LegacyCookieProcessor)
https://tomcat.apache.org/tomcat-9.0-doc/config/cookie-processor.html
我正在尝试添加 cookie 处理器上显示的属性,但这似乎不起作用
我没有看到设置了 sameSite 属性的 Tomcat 响应头 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 中的这些标头吗?
在Spring Security中可以设置Same-site Cookie标志吗?请参阅:https : //tools.ietf.org/html/draft-west-first-party-cookies-07 ,如果没有,请问是否有增加支持的路线图?某些浏览器(例如Chrome)已经支持。TH