Play Framework 版本 2.6/2.7 将 PLAY_SESSION cookie 设置为 SameSite=None;安全的
Play Framework version 2.6/2.7 set PLAY_SESSION cookie to SameSite=None; Secure
有很多帖子确认 play 支持 SameSite=None; Secure
要求。但是,当通过这样的配置配置会话时:
...
play.http.session.httpOnly=true
play.http.session.sameSite="None"
play.http.session.secure=true
...
Chrome 告诉我 None 没有设置。见下文:
为了验证我使用的是正确的向后移植版本 (2.6.24),我实现了一个过滤器来设置我可以控制的其他 cookie,并且当我像这样手动构建 cookie 时:
Cookie(
key,
value,
secure = true,
sameSite = Some(Cookie.SameSite.None)
)
Chrome 将显示 SameSite=None; Secure
确实设置在这些 cookie 上。这让我觉得配置实现有些东西不理解 None
播放文档表明你也只能传递 Strict
或 Lax
但我希望这只是一个文档错误.
编辑:已确认 cbley answer 2.6.25 有效,请参见下面的屏幕截图
Play 版本 2.6.25 和 2.7.5 已修复此问题。
有很多帖子确认 play 支持 SameSite=None; Secure
要求。但是,当通过这样的配置配置会话时:
...
play.http.session.httpOnly=true
play.http.session.sameSite="None"
play.http.session.secure=true
...
Chrome 告诉我 None 没有设置。见下文:
为了验证我使用的是正确的向后移植版本 (2.6.24),我实现了一个过滤器来设置我可以控制的其他 cookie,并且当我像这样手动构建 cookie 时:
Cookie(
key,
value,
secure = true,
sameSite = Some(Cookie.SameSite.None)
)
Chrome 将显示 SameSite=None; Secure
确实设置在这些 cookie 上。这让我觉得配置实现有些东西不理解 None
播放文档表明你也只能传递 Strict
或 Lax
但我希望这只是一个文档错误.
编辑:已确认 cbley answer 2.6.25 有效,请参见下面的屏幕截图
Play 版本 2.6.25 和 2.7.5 已修复此问题。