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

标签 javascript cookies safari setcookie samesite

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

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

设置 Cookie:my_cookie=XXXXX;路径=/;安全的;仅限HTTP; SameSite=无

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

最佳答案

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

我在 SameSite cookie recipes 中发布了一些指南在任何一个:

  • 使用两组 cookie 来说明支持 SameSite=None 的浏览器;安全 和那些不安全的。
  • 嗅探用户代理for incompatible browsers并且不为这些请求提供 SameSite=None

关于javascript - 即使设置 SameSite=None,Safari 也不发送 cookie;安全的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58525719/

相关文章:

php - 音频元素在 Safari 5.1 中不起作用

javascript - 需要改变选择框未选中的样式

javascript - 为什么我无法在我的 Mongoose 模型中传播对象?

javascript - 如何使用 node.js Cheerio 一个一个地获取元素

ios - 仅在 iOS (iphone) Safari 上不显示 Twilio 摄像机

html - iOS选择圆 Angular 背景色

javascript - 使用 $_POST 或 $_GET 与 Modal,根据 ID 刷新

javascript - Jquery - 制作cookie后隐藏元素

javascript - 将用户最后的语言偏好保存在 Cookie 中

Angular 2/4 在哪里存储 token