微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ionic 3 iframe 中的 Magento 2 设置 cookie SameSite=None 而不是默认的 SameSite=LAX

如何解决Ionic 3 iframe 中的 Magento 2 设置 cookie SameSite=None 而不是默认的 SameSite=LAX

我在 Ionic 框架 iframe 中添加到购物车时遇到问题,按钮只是停留在 Adding... 处,而没有将商品添加到购物车中。

我注意到“网络”选项卡中有一些错误/警告。它说 SameSite cookie 被设置为 LAX,因为它没有被找到。参考下图。

所以我的问题是如何将 SameSite=None 设置为 Magento 2 中的认 cookie?提前致谢。

enter image description here

解决方法

首先,尝试重构您使用的域。如果一切都来自同一个域,则不是“跨站点响应”,不需要此标志。要详细了解为什么禁止跨站点操作,请查看 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。