如何跳过Facebook iOS单点登录的权限对话框?

3
我有一个iPad应用程序需要用户通过Facebook登录。我已经使用Facebook提供的iOS SDK实现了这一功能,但对于返回用户,我遇到了一些问题。以下是他们需要执行的步骤:
  • 用户第一次加载我们的应用程序。
  • 他们单击“登录”,如果他们安装了Facebook iPad应用程序,则将其重定向到该应用程序。
  • 他们看到一个权限对话框,他们接受。
  • 他们退出我们的应用程序并关闭它。
  • 在以后的某个日期,他们重新打开我们的应用程序。
  • 他们在我们的应用程序中单击“登录”。
  • 这会将他们带到Facebook iPad应用程序,该应用程序显示下面所示的空权限对话框,因为他们已经授权我们并授予我们完全的权限。

问题是,我们看到了一些困惑的用户,因为行动呼叫(“确定”)被埋在标题栏的左上角,而且信息不清楚。在我们的测试中,Flipboard应用程序会在这种情况下短暂地显示对话框,但是它会自动关闭,并将控制权返回给调用应用程序。这正是我们也希望发生的事情,但不清楚如何实现。以下是我迄今为止尝试但未解决问题的一些事情:

  • 更新到Facebook iOS SDK的最新版本
  • 将nil或空数组传递给[Facebook authorize]
  • 搜索文档(和网络)以查找任何相关线索
  • 检查SDK代码是否有任何未记录的参数

是否有人能够建议如何跳过重复登录时的授权对话框?非常感谢任何帮助。

iPad截图

3个回答

1

一旦我们获得了应用商店的批准并发布了应用,我们发现使用苹果捆绑ID更新SSO详细信息使对话框的行为符合预期。


我现在也遇到了同样的问题。如果用户已经授权,你是如何实现从FB应用程序自动重定向回你的应用程序的行为的? - quantum

0

这在Facebook的iOS API文档中得到了演示,具体来说是“修改应用程序委托头文件”的第四步

if (![facebook isSessionValid]) {
    [facebook authorize:nil]; // this is what displays the facebook dialog
}

isSessionValid 检查是否存在有效的 cookie,如果存在,则无需再次进行 authorize

编辑:

我想到了一个问题,如果用户长时间不使用您的应用程序,则您的 cookie 将过期。在这种情况下,我不确定我们能否做些什么,因为 FB 的(重新)认证依赖于该对话框。


这就是我们所做的。问题在于第二次发生这种情况时,上面显示的对话框会出现,这很令人困惑,特别是对于已经授予权限的用户来说。其他应用程序(例如Flipboard)能够在后续尝试中跳过此对话框,这也是我们正在尝试做的。 - Pete Warden
你确定应用程序没有清除cookies吗?我们的应用程序可以很好地跳过此对话框。 - John Estropia

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接