Facebook iOS 9 SDK 登录重定向到 Safari 上的 mbasic.facebook.com

Posted

技术标签:

【中文标题】Facebook iOS 9 SDK 登录重定向到 Safari 上的 mbasic.facebook.com【英文标题】:Facebook iOS 9 SDK login redirects to mbasic.facebook.com on Safari 【发布时间】:2016-05-03 15:43:04 【问题描述】:

我正在使用 ios 9 Facebook SDK 来管理登录。在 iOS 9 之前,该过程运行良好。它是这样工作的:

1) 用户点击我的应用程序上的 Log In Via Facebook 按钮 2) 如果安装了应用程序,用户会被重定向到 Facebook 应用程序,否则会被重定向到 Safari 上的 Facebook 页面 3) 用户授权我的应用访问他/她的 Facebook 凭据并重定向回我的应用以完成登录

然而,在 iOS 9 中,根据this SO post,默认行为是在步骤 2) 中,用户将被重定向到他/她在 Safari 上的 Facebook 页面。这种行为会导致以下非常令人沮丧的问题:

特定用户的 Facebook 页面默认为 mbasic.facebook.com,当用户在我的应用程序上单击 Log In Via Facebook 时,它会在下面打开 Safari mbasic.facebook.com URL,它显示用户的 Facebook 主页 视图以及活动源,而不是用户可以授权我的应用的应用授权页面。在这种情况下,用户必须:1) 退出他/她的 Facebook 帐户; 2) 打开我的应用,点击Log In Via Facebook按钮; 3) Safari 打开 facebook.com,用户需要先登录他/她的 Facebook 帐户,然后授权我的应用程序

这对用户有很多要求。我的问题是:1) 用户如何默认使用 mbasic.facebook.com 页面而不是 facebook.com? 2) 我们可以在 Facebook iOS 9 SDK 设置中做些什么来覆盖此重定向到mbasic.facebook.com,而是让它像以前一样重定向到 facebook.com?

【问题讨论】:

【参考方案1】:

事实证明,如果用户没有在移动 Safari 上启用 javascript,Facebook 会将您重定向到 mbasic.facebook.com 网站并阻止用户通过 Facebook 登录您的应用程序。我们可能无法用 Facebook iOS SDK 来覆盖它。我们只需要提醒用户在 Safari 上启用 JavaScript。

【讨论】:

以上是关于Facebook iOS 9 SDK 登录重定向到 Safari 上的 mbasic.facebook.com的主要内容,如果未能解决你的问题,请参考以下文章

Facebook SDK 登录永远不会在 iOS 9 上回调我的应用程序

facebook iOS SDK 授权,无需重定向到 safari

Facebook SDK Objective-C 登录后触发事件

通过 facebook 登录会附加一些代码来重定向 url

无法使用 Facebook SDK IOS Swift 登录 [重复]

与 Facebook iOS SDK 共享后从 Facebook 注销