ios - 在 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 设备)。有没有人有类似的经历,甚至更好的潜在解决方法?
提前致谢
解决方案
对于遇到此问题的其他任何人。我试图在我在 web 视图中显示的网站的 iframe 中显示第三方登录表单,并且来自第三方网站的 cookie 被阻止,因为 Safari 只允许来自您之前访问过的网站的第三方 cookie . 我的解决方法最终是直接通过 webview API 在第三方域上设置 cookie,这显然“欺骗”Safari 认为该站点之前已访问过,因此允许 cookie。
推荐阅读
- c++ - 糖果盒的旋转编码器不工作
- unit-testing - 如何在 drupal 8 中模拟用户对象以使用用户类的 get 函数?
- php - 仅在一周内运行 SQL 查询
- c# - 提高流式传输大型 (1-10 gb) 文件的速度 .Net Core
- python - 如何正确访问和使用烧瓶 sqlalchemy 中的 sqlalchemy 方法
- pandas - 熊猫中的 isnull() 无法识别空白值(Python 编码)
- powerbi - DAX :由于资源内存超出,需要更换 SWITCH
- java - 创建多个新对象时避免冗余代码的最佳方法
- python - 如何使用 Python 或 Selenium 从 Chrome 中的 UI 将文件下载到特定路径项目?
- python - if 和 for 在一行中循环