6

我的应用程序与 Facebook、Google 和 Microsoft 集成(使用 OAuth)。

要从 Facebook 注销,我使用以下 URL:

https://www.facebook.com/logout.php?next=[YourAppURL]&access_token=[ValidAccessToken]

谷歌和微软有类似的东西吗?

对于谷歌我试过:

https://accounts.google.com/Logout?continue=http://localhost:51820

但它没有用......它返回:The page you requested is invalid.

如何获取该 URL 注销?

4

2 回答 2

18

我终于得到了正确的链接:

  • Facebook:

https://www.facebook.com/logout.php?next=[YourAppURL]&access_token=[ValidAccessToken]

来源:一个有效的 Facebook OAuth 注销 URL

  • 谷歌:

https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=[http://www.mysite.com]

来源:谷歌帐户注销和重定向

  • 微软:

https://login.live.com/oauth20_logout.srf?client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URL]

来源:服务器端场景

这些链接可以像在 JavaScript 中那样使用:

function logout (){
document.location.href = "https://www.facebook.com/logout.php?next=[YourAppURL]&access_token=[ValidAccessToken]";
}

实施此建议:使用 oauth 从外部登录服务(Gmail、facebook)注销

于 2013-06-15T19:58:44.953 回答
3

你不应该让用户退出 Facebook、Google 等。你只需要让他们退出你的应用程序。通过将他们重定向到accounts.google.com/Logout您实际上是在将用户从他们的Google帐户中注销,这意味着如果他们还在另一个选项卡中打开了 Gmail(比如说),他们也会被注销。同样,如果您将他们重定向到www.facebook.com/logout.php您实际上是在将他们从Facebook注销,这意味着如果他们在另一个选项卡中打开 Facebook,他们也会从那里注销。

相反,当用户退出您的应用程序时,您应该做的就是“忘记” OAuth 令牌。

于 2013-06-12T06:57:29.027 回答