首页 > 解决方案 > 在 iOS WKWebview 的 iFrame 中阻止第三方 cookie

问题描述

我有一个用 React 开发的网站,我们在其中实现了通过 iFrame 登录到第三方。这在我们必须支持的所有浏览器中都可以正常工作,除了 iOS 上的 WKWebview,它拒绝在 iFrame 中的另一个域上设置 cookie。我们有一个 React Native 应用程序,可以在这个 webview 中显示网页,所以我们必须支持它。从大量谷歌搜索中,我发现了各种不再有效的解决方法,并最终出现在 Webkits 错误页面:https: //bugs.webkit.org/show_bug.cgi?id=204109 这来自销售团队:https ://help.salesforce.com/articleView?id=000351155&language=en_US&type=1&mode=1 目前尚不清楚这是否实际上已修复或是否已重新引入(似乎已修复,因为它不适用于 iOS 13.3 设备)。有没有人有类似的经历,甚至更好的潜在解决方法?

提前致谢

标签: iosreact-nativewebviewwebkitwkwebview

解决方案


对于遇到此问题的其他任何人。我试图在我在 web 视图中显示的网站的 iframe 中显示第三方登录表单,并且来自第三方网站的 cookie 被阻止,因为 Safari 只允许来自您之前访问过的网站的第三方 cookie . 我的解决方法最终是直接通过 webview API 在第三方域上设置 cookie,这显然“欺骗”Safari 认为该站点之前已访问过,因此允许 cookie。


推荐阅读