Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未经授权时注销Facebook_Facebook_Facebook Graph Api_Facebook Javascript Sdk_Fbconnect - Fatal编程技术网

未经授权时注销Facebook

未经授权时注销Facebook,facebook,facebook-graph-api,facebook-javascript-sdk,fbconnect,Facebook,Facebook Graph Api,Facebook Javascript Sdk,Fbconnect,我正在使用iPad构建一个公共安装,它是一个iOS网络应用程序(使用“添加到主屏幕”功能),允许用户在Facebook上共享内容 我目前正在将用户登录到Facebook,让他们在单击我的自定义共享按钮时授权我的Facebook应用程序。成功登录后,我打开Facebook的Feed对话框,允许他们分享。一旦他们共享(或单击取消),我会自动注销他们,确保下一个使用公共安装的用户将无法共享到前一个用户的Facebook帐户 这一切都很好,但如果有人点击我的自定义共享按钮,登录Facebook,然后不允

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

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

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

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


我能想到的最好的办法是,如果用户登录但不允许该应用程序,他们会被告知需要注销,并重定向到Facebook才能做到这一点。然而,这为他们提供了浏览Facebook和(通过其订阅源中的共享链接)整个互联网的机会——这对于我们的安装是不可接受的。

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