Springboot应用中设置Cookie的SameSite属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot应用中设置Cookie的SameSite属性相关的知识,希望对你有一定的参考价值。

参考技术A Cookie 除了 key 和 value 以外有几个属性。

其他的都很熟悉了,最后一个是 Chrome 51 开始,浏览器的 Cookie 新增加了一个 SameSite 属性,用来防止 CSRF 攻击和用户追踪。

在Javaweb应用中 ,设置 Cookie一般都是用 javax.servlet.http.Cookie ,但是 SameSite 属性出来不久, Servlet 库还没更新,所以没有设置 SameSite 的方法.

可以看到,还没有 SameSite 的定义

本质上, Cookie 也只是一个 header 。我们可以不使用 Cookie 对象,而通过自定义 Header 的方式来给客户端设置 Cookie 。

ResponseCookie 是Spring定义的一个 Cookie 构建工具类,极其简单

所有属性都响应正确 √

HttpSession 依赖一个名称叫做 JSESSIONID (默认名称)的Cookie。

对于 JSESSIONID Cookie 的设置,可以修改如下配置。但是,目前spring也没实现 SameSite 的配置项。

通过自定义 CookieSerializer 设置 SameSite 属性

原文: https://springboot.io/t/topic/2602

以上是关于Springboot应用中设置Cookie的SameSite属性的主要内容,如果未能解决你的问题,请参考以下文章

Java中设置Session过期时间(Spring Boot)

如何在 SAM 模板中设置舞台名称

为啥即使在 WKWebView 中设置 cookie 后 SSO 也不起作用?

如何在 WPF 应用程序中 SOAP 客户端的“Set-Cookie”标头响应的新请求中设置“Cookie”标头

在 wcf 服务中设置 cookie

在 Ruby 中设置 cookie 过期时间