我们的应用程序使用 cookie 来记住用户登录。我们进行的每次身份验证 API 调用,浏览器都会将服务器设置的 HTTPonly cookie 附加到 API 请求并获得身份验证。 Mojave 发布后,这种行为似乎在 Safari 中被打破了。
我读到了 safari 实现的跨站点 cookie 安全性,我们的服务器团队添加了SameSite=None;Secure
设置 cookie 时。即使在那之后,它仍然不起作用。
Set-Cookie: my_cookie=XXXXX; path=/; secure; HttpOnly; SameSite=None
请建议或提供实际找到解决方案的人的链接。
MacOS 10.14 上的 Safari 版本和 iOS 12 上的所有浏览器均受到影响this bug https://bugs.webkit.org/show_bug.cgi?id=198181意思就是SameSite=None
被错误地视为SameSite=Strict
,例如最严格的设置。
我已经发布了一些指导SameSite cookie 食谱 https://web.dev/samesite-cookie-recipes上:
- 使用两组 cookie 来说明支持的浏览器
SameSite=None; Secure
以及那些没有的。
- 嗅探用户代理对于不兼容的浏览器 https://www.chromium.org/updates/same-site/incompatible-clients并且不服务
SameSite=None
对于这些请求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)