首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook Oauth Logout

Facebook Oauth Logout
EN

Stack Overflow用户
提问于 2010-05-04 10:22:23
回答 13查看 123.7K关注 0票数 71

我有一个使用Oauth 2与Facebook集成的应用程序。

我可以使用FB进行授权,并很好地查询他们的REST和Graph,但是当我授权使用FB创建一个活动浏览器会话时。然后,我可以很好地注销我的应用程序,但是使用FB的会话仍然存在,所以如果其他人使用该浏览器,他们将看到前面的用户FB帐户(除非前面的用户也手动退出FB )。

我所采取的授权步骤如下:

  1. 呼叫链接: graph.facebook.com/oauth/authorize?client_id...

如果用户的浏览器还没有活动的FB会话,则此步骤将打开一个Facebook登录/连接窗口。一旦他们登录到facebook,他们就会用代码重定向到我的网站,我可以用oauth令牌交换代码。

  1. 呼叫链接: graph.facebook.com/oauth/access_token?client_id..使用(1)中的代码

现在我有了一个Oauth令牌,用户的浏览器被登录到我的站点和FB中。

  1. 我调用了一堆API来做一些事情:即链接: graph.facebook.com/me?access_token=..

让我说我的用户想注销我的网站。FB的条款和条件要求我执行单一的注销,所以当用户从我的网站登录时,他们也注销了脸书。有人认为这是有点愚蠢,但如果有任何方法来实现这一点,我很乐意遵守。

我看到有人建议:

答:我使用Javascript注销: FB.Connect.logout()。我试过使用它,但它没有起作用,我也不确定它是如何做到的,因为我在我的站点上没有以任何方式使用Javascript。会话不是由Javascript维护或创建的,所以我也不确定它应该如何过期。

使用链接: facebook.com/logout.php。这是一位管理人员不久前在Facebook论坛上提出的。给出的例子涉及到获取FB会话的旧方法(非oauth),因此我认为我无法在我的情况下应用它。

C.使用旧的REST或revokeAuthorization。我尝试了这两种方法,虽然它们确实过期了Oauth令牌,但它们不会使浏览器当前使用的会话失效,因此没有效果,用户不会退出Facebook。

我真的有点不知所措,Facebook的文档不完整,模棱两可,而且相当糟糕。论坛上的支持是不存在的,目前我甚至无法登录facebook论坛,除此之外,他们自己的FB集成甚至不能在论坛上运行。并不能激发多少信心。

你们能提供的任何帮助。德里克

ps。必须改变HTTPS的链接,而不是足够的业力来发布链接,这可能是足够公平的。

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2010-05-10 06:03:17

我也有同样的问题。我还使用oauth登录(我使用的是RubyOnRails),但对于注销,我使用如下链接使用JavaScript进行登录:

代码语言:javascript
复制
<a href="/logout" onclick="FB.logout();">Logout</a> 

这首先调用onclick函数并在facebook上执行注销,然后调用我的站点的普通/logout函数。

虽然我也更喜欢服务器端解决方案,但至少它能做我想做的事情,它会在两个站点上记录我。

我对Facebook的整合内容也很陌生,并且第一次使用它,但我的总体感觉是,文档在各地都很流行,有很多过时的东西。

票数 44
EN

Stack Overflow用户

发布于 2010-07-28 06:14:19

这个解决方案不再适用于FaceBook当前的API (似乎它最初是无意的)

代码语言:javascript
复制
http://m.facebook.com/logout.php?confirm=1&next=http://yoursitename.com;

试着在你的签名链接或按钮上提供这个链接,其中"yoursitename.com“是你想要重定向的地方,在签名之后可能是你的主页。

起作用了..。

票数 19
EN

Stack Overflow用户

发布于 2012-03-21 06:09:55

到目前为止,这是可行的,并记录在facebook的网站@ http://developers.facebook.com/docs/authentication/上。不确定它是最近几年添加到文档中的,我在查看2012年2月时非常确定它不在那里

您可以通过将用户重定向到 代币

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2764436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档