我的应用程序与Facebook,Google和Microsoft(使用OAuth)集成。
要从facebook退出,我使用以下网址:
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.
如何获取该网址?
答案 0 :(得分:17)
我终于得到了正确的链接:
https://www.facebook.com/logout.php?next=[YourAppURL]&access_token=[ValidAccessToken]
来源:A Working Facebook OAuth Logout URL
https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=[http://www.mysite.com]
来源:google account logout and redirect
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]";
}
建议实施此目的:Logout from external login service (Gmail, facebook) using oauth
答案 1 :(得分:3)
您不应该将用户从Facebook,Google等用户登出。您只需要将其从您的应用中注销。通过将它们重定向到accounts.google.com/Logout
,您实际上是将用户从其 Google 帐户中删除,这意味着如果他们还在另一个标签中打开了Gmail(比如说),那么他们也会被注销那个。同样,如果您将它们重定向到www.facebook.com/logout.php
,您实际上是将它们从 Facebook 中删除,这意味着如果他们在另一个标签中打开了Facebook,那么它们也会被注销。
相反,当用户退出您的应用时,您应该做的就是“忘记”OAuth令牌。