localStorage 在 iF​​rame 中不可见

Mak*_*nov 4 iframe google-chrome local-storage third-party-cookies

当我们在单独的选项卡中将一些数据设置到 localStorage 时,会遇到一个偶发性问题,然后当我们在另一个域下的 iFrame 中的同一浏览器中加载相同的域时,我们看不到这些数据。该问题仅发生在某些特定用户身上,我们无法在本地重现该问题。

大多数遇到此问题的用户都使用 Windows 操作系统。我们使用的工作流程是下一个。

  1. 打开一个包含项目域(例如internal.com)的新选项卡
  2. 登录用户并将访问令牌存储到localStorage
  3. 打开客户的项目域,例如external.com
  4. 确保已启用第 3 方 cookie
  5. 使用internal.com地址在external.com下添加一个iFrame
  6. 验证internal.com的内容是否按预期加载到iFrame中

预期结果是什么?

external.com选项卡下带有internal.com地址的iFramelocalStorage中,我们应该看到我们在浏览器选项卡中设置的带有internal.com地址的数据

相反会发生什么?

external.com选项卡下的internal.com地址的iFramelocalStorage为空。

大约从八月初我们就开始收到这样的问题。有人遇到过同样的情况或者知道原因吗?

我们已经检查了所有可能的浏览器设置,包括第 3 方 cookie 和 CORS 策略。


以下是一些跟进该问题的官方资源:

Кра*_*воз 5

我一整天都在为此奋斗。

https://developer.chrome.com/en/docs/privacy-sandbox/storage-partitioning/

这就是原因。新的 Chrome 实验功能。只需禁用它即可。

chrome://flags/#third-party-storage-partitioning。

另请检查您的浏览器第三方 cookie 权限。这也应该被允许。