【问题标题】:Play Framework version 2.6/2.7 set PLAY_SESSION cookie to SameSite=None; SecurePlay Framework 2.6/2.7 版将 PLAY_SESSION cookie 设置为 SameSite=None;安全的
【发布时间】:2020-09-22 04:31:29
【问题描述】:

有很多帖子确认 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 播放文档表明您也只能通过 StrictLax 但我希望这只是一个文档错误。

编辑:确认 cbley 回答 2.6.25 作品见下面的屏幕截图

【问题讨论】:

  • 根据github.com/playframework/playframework/issues/10433 这应该在 Play 2.7.5 中修复
  • 2.7.5 是否引入了额外的配置解析更改?我验证了 2.6.24 已将“无”添加到 Cookie.SameSite。
  • 对于 2.6.24,我在控制台中收到 p.a.h.HttpConfiguration - Assuming play.http.session.sameSite = null, since "None" is not a valid SameSite value (Strict, Lax)
  • 使用 2.6.25,它可以工作。
  • 是的,我指的是当您使用 Cookie.SameSite.None 设置 cookie .withCookies 时,None 枚举存在于 2.6.24 中,但看起来直到 2.6.25 才与配置集成,这很混乱跨度>

标签: scala google-chrome cookies playframework samesite


【解决方案1】:

这已在 Play 2.6.25 和 2.7.5 版本中得到修复。

【讨论】:

    猜你喜欢
    • 2020-05-17
    • 1970-01-01
    • 2020-07-07
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 2020-02-19
    相关资源
    最近更新 更多