即使设置 SameSite=None,Safari 也不发送 cookie;安全的

新手上路,请多包涵

我们的应用程序使用 cookie 来记住用户登录。我们进行的每次 auth API 调用,浏览器都会将服务器设置的 HTTPonly cookie 附加到 API 请求中并进行身份验证。 Mojave 发布后,这种行为似乎在 safari 中被打破了。

我了解了 safari 实施的跨站点 cookie 安全性,我们的服务器团队在设置 cookie 时添加了 SameSite=None;Secure 。即使在那之后,它仍然不起作用。

Set-Cookie: my_cookie=XXXXX; path=/; secure; HttpOnly; SameSite=None

请建议或提供实际找到解决方案的人的链接..

原文由 DieOnTime 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答

MacOS 10.14 上的 Safari 版本和 iOS 12 上的所有浏览器都受此 错误 影响,这意味着 SameSite=None 被错误地视为 SameSite=Strict ,例如最严格的设置。

我已经在 SameSite cookie 食谱 中发布了一些指导:

  • 使用两组 cookie 来说明支持 SameSite=None; Secure 和不支持的浏览器。
  • 嗅探 不兼容浏览器 的用户代理并且不为这些请求服务 SameSite=None

原文由 rowan_m 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题