Die*_*ime 33 javascript cookies safari setcookie samesite
我们的应用程序使用 cookie 来记住用户登录。我们进行的每个身份验证 API 调用,浏览器都会在 API 请求中附加服务器设置的 HTTPonly cookie 并进行身份验证。在 Mojave 发布后,这种行为似乎在 safari 中被打破了。
我阅读了 safari 和我们的服务器团队SameSite=None;Secure在设置 cookie 时添加的跨站点 cookie 安全性。即使在那之后,它仍然不起作用。
Set-Cookie: my_cookie=XXXXX; path=/; secure; HttpOnly; SameSite=None
请建议或提供来自实际找到解决方案的人的链接。
row*_*n_m 35
MacOS 10.14 上的 Safari 版本和 iOS 12 上的所有浏览器都受到此错误的影响,这意味着它SameSite=None被错误地视为SameSite=Strict,例如最严格的设置。
我已经在SameSite cookie recipes 中发布了一些指南:
SameSite=None; Secure和不支持的浏览器。SameSite=None为这些请求提供服务。Viv*_*vek 19
Safari 不再发送跨站点 cookie。因此,即使 cookie 设置为 SameSite=None,它也不会与第三方 ajax 请求一起发送。
要允许发送跨站点 cookie,请转至Safari > Preferences > Privacy并取消选中Prevent cross-site tracking
waw*_*wka 13
这也是 Safari 14 中的一个问题。默认情况下,Safari 不再发送第三方 cookie。这是因为他们引入了隐私首选项:默认情况下打开的“防止跨站点跟踪”。因此,如果您设置 cookie,SameSite=None; Secure它们仍然不会被设置并发送到跨域。
Dav*_*rte 13
问题不在于 Safari 发送或不发送 cookie,而在于 Safari 不存储 cookie。这与 cookie 配置的特定组合有关,它与 localhost 的此设置一起使用
Set-Cookie: your=cookie; Domain=localhost; Path=/; Expires=Mon, 26 Dec 2022 12:53:02 GMT; HttpOnly; SameSite=Lax
以及产品的这个设置
set-cookie: your=cookie; Domain=something.com; Path=/; Expires=Thu, 22 Dec 2022 04:17:44 GMT; HttpOnly; Secure; SameSite=Lax
您需要Domain在您的产品(ssl)环境中包含 和Secure。您可以使用不同的值,SameSite但这Lax对我有用
| 归档时间: |
|
| 查看次数: |
24925 次 |
| 最近记录: |