问题描述
我在 Ionic 框架 iframe 中添加到购物车时遇到问题,按钮只是停留在 Adding...
处,而没有将商品添加到购物车中。
我注意到“网络”选项卡中有一些错误/警告。它说 SameSite cookie 被设置为 LAX,因为它没有被找到。参考下图。
所以我的问题是如何将 SameSite=None 设置为 Magento 2 中的默认 cookie?提前致谢。
解决方法
首先,尝试重构您使用的域。如果一切都来自同一个域,则不是“跨站点响应”,不需要此标志。要详细了解为什么禁止跨站点操作,请查看 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
其次,尝试升级到最新版本(如@Tarun所说),这似乎解决了问题。
,由于 Chrome 当前的 SameSite
默认值为 None
,因此第三方 Cookie 可以跨站点跟踪用户。更新将默认标签更改为 SameSite=Lax
。这意味着只有当浏览器的 URL 中的域与 cookie 的域匹配时才会设置 cookie。在这种情况下,我们会处理第一方 Cookie。
对于带有 SameSite=None
标签的 cookie,它们必须具有安全标志。保证它们仅通过通过 HTTPS
发出的请求创建和发送。
不幸的是,某些语言和库尚不支持 None 值。因此,开发人员应直接设置 cookie 标头。查看此 Github repository,了解如何实现 SameSite=None
。