MacOS Safari 11“防止跨站点跟踪”破坏了网站的谷歌登录
Posted
技术标签:
【中文标题】MacOS Safari 11“防止跨站点跟踪”破坏了网站的谷歌登录【英文标题】:MacOS Safari 11 "prevent cross-site tracking" breaks google sign-in for websites 【发布时间】:2018-03-15 02:10:58 【问题描述】:似乎新的 Safari 跨站点跟踪功能正在干扰 Google 的 OAuth2 实施(至少在网站的 google 登录中)。我目前正在开发的项目中遇到了这个问题,希望遇到同样问题的任何人提供建议。
更多细节:
清除所有缓存/cookie 后,登录流程在首次登录时正常工作。 刷新后,进入登录流程会识别出您已通过 OAuth 提供程序进行身份验证,打开一个弹出窗口并立即将其关闭(这是已允许来源的预期行为)。 弹出窗口关闭后,身份验证流程的最终确定性被破坏,并且静默失败,代码内部没有抛出任何错误,也没有返回登录用户。取消选中“防止跨站点跟踪”选项允许登录流程按预期运行。
【问题讨论】:
您在 ios Safari 中看到了这个问题,对吧? @mash,MacOS。我已将标题编辑得更具体。 我可以在最新的 macOS 和 iOS Safari 中看到这一点。可能与 ITP 的工作方式有关,并且在首次登录时并不明显。有趣的事情在 24 小时后才开始发生。 你成功了吗? @Claudiu 我没有 - 但我会在几周后再次提出这个问题,以解决问题。 【参考方案1】:不幸的是,我在使用 Safari 时遇到了同样的问题。 就我而言,正如其他人报告您在 GitHub 上创建的问题一样,我使用的是重定向流程。
在最近的一次尝试中,我将ux_mode
更改为"popup"
,并且成功了。
Google 将其遗弃了两年,这真是太糟糕了。
【讨论】:
如果用户在 iOS 中打开新选项卡或 PWA 实例,这将不再起作用。新的 Safari 跨站点跟踪功能似乎可以阻止任何一种方式。以上是关于MacOS Safari 11“防止跨站点跟踪”破坏了网站的谷歌登录的主要内容,如果未能解决你的问题,请参考以下文章
新版macOS发布 界面重新设计 Safari浏览器有巨大升级
在 macOS High Sierra 中,Safari 是最快的浏览器