Facebook未经授权注销

时间:2013-06-17 15:30:25

标签: facebook facebook-graph-api facebook-javascript-sdk fbconnect

我正在使用iPad构建公共安装,构建为iOS网络应用程序(使用“添加到主屏幕”功能),这将允许用户在Facebook上共享内容。

我目前正在将用户登录到Facebook并让他们在点击我的自定义共享按钮时授权我的Facebook应用。在成功登录后,我打开Facebook的Feed对话框并允许他们共享。一旦他们共享(或点击取消),我会自动将其注销,确保使用公共安装的下一个用户无法与之前用户的Facebook帐户共享。

这一切都运作良好,但如果有人要点击我的自定义共享按钮,登录Facebook然后允许我的应用程序,事情会变得棘手。这意味着他们已经登录,但由于他们没有授权应用程序,我没有访问令牌,因此无法将其注销(FB.logout()需要访问令牌)。

有解决方法吗? 或者是否有其他方法可以将用户注销? 或者是否有一种安全的方法允许公共安装(内置HTML)的用户在Facebook上共享并在之后自动注销?是建立一个原生的obj-c应用程序,还是使用Facebook的iOS SDK帮助?

我能想到的最好的是,如果用户登录但不允许该应用程序,则会告知他们需要注销,并重定向到Facebook才能执行此操作。然而,这为他们提供了浏览Facebook和(通过他们的Feed中的共享链接)整个互联网的机会 - 这对我们的安装是不可接受的。

1 个答案:

答案 0 :(得分:0)

我通过创建原生iOS应用程序解决了这个问题,其中Facebook共享链接在其自己的UIWebView中打开。分享完成后,我删除了所有会话和& cookie信息,有效地记录用户。