gpt4 book ai didi

javascript - 使用 safari 时在 iframe 中设置 cookie

转载 作者:行者123 更新时间:2023-12-02 23:53:48 25 4
gpt4 key购买 nike

我知道 Stackoverflow 和互联网上有很多相关的问题和答案,但是,我无法找到适合我的案例的解决方案。

我们在域 A 上有一个我们无法控制的应用程序,在域 B 上有一个应用程序 - 我们的 iframe 正在集成到应用程序 A 中。我们在应用程序 B 中使用 cookie。一切正常,cookie 在请求之间保留,Safari 除外。我读过https://gist.github.com/iansltx/18caf551baaa60b79206并了解 Safari 的特殊性,要求用户在过去与域 B 进行显式交互。

我们尝试通过尝试在站点 A 上渲染不可见像素来克服该问题,该像素使用我们的集成 JS 脚本将 iframe 注入(inject)站点 A 上的某些 div 中。此外,我们还尝试向域 A 发出 CORS ajax 请求到域B(也来 self 们的集成脚本),如果重要的话,我们确实使用 withCrendetials:true,并且请求成功返回“set-cookie” header ,但 cookie 不会传递到从 iframe 到我们的域 B 的进一步请求中。

但是,如果我显式打开域 B,Cookie 就会突然在集成到域 A 的 iframe 中传递。

我认为到目前为止我们已经尝试了所有能想到的办法,但没有成功。一些资源建议使用 JS 重定向,但我认为这是很糟糕的用户体验。我希望有更好的解决方案。

任何指示都将受到高度赞赏。请拯救我的日子,这个问题让我发疯:)

最佳答案

通过进行大量研究,我们得出的结论是,最好摆脱 cookie 并显式使用授权 header 。只剩下 1 个问题:我们通过 DOM 插入的图像,因此我们无法在那里传递授权 header (使用查询参数并不理想,因为它会暴露身份验证 token )。我们通过对图像 URL 执行 ajax 请求并将它们作为 blob 插入 DOM 来解决这个问题。

关于javascript - 使用 safari 时在 iframe 中设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55521464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com