浏览器阻止跨域 iframe cookie

Browser blocks cross domain iframe cookies

我有一个类似论坛的组件,我在其他网站的 iframe 中使用它。该组件使用 django-allauth 对 Facebook 和 Twitter 进行身份验证。一切正常,但现在身份验证在一段时间前停止工作。当我在浏览器中查看 cookie 时,iframe 设置的来自 Facebook/Twitter 的 cookie 未加载。虽然,组件本身的 cookie 已设置。 当我在组件本身的另一个子域上的网站上加载 iframe 时,身份验证仍然有效。

另一个子域上的工具(有效): https://shop-sandbox.adbuddy.be/discussie/

完全不同领域的工具(不工作): https://mama-calinka.webbuddy.be/discussie/

我想这个问题与 CORS-header 有关,但我试过没有任何帮助。有人可以帮我解决这个问题吗?

如果这只是最近才停止工作,它可能与 Chrome 最近的 breaking change 有关,如果 cookie 的属性 SameSite 没有明确设置,它默认为 SameSite = Lax,这可以防止您的浏览器在跨站点请求中发送 cookie。

我检查了你的 https://shop-sandbox.adbuddy.be/discussie/ - 有很多 cookie 的 SameSite 是空的。

可能还有几个原因,为什么浏览器会忽略请求中的 cookie,我试图在我的博客中总结所有这些原因 here