Facebook JS SDK FB.logout () ne termine pas la session utilisateur
Je suis de la tentative de connexion d'un utilisateur de facebook avec Facebook JS SDK, cependant appelant:
FB.logout(function(response){
console.log(response);
});
retourne:
réponse.status == "connecté"
Et seulement après actualisation de la page le SDK de réaliser que la session est terminée. Quelqu'un sait ce qui pourrait être à l'origine de ce comportement? Ce code a déjà travaillé dans mon application, et a récemment commencé à se comporter de cette façon.
Un autre exemple à l'aide de FireBug:
source d'informationauteur Casey Flynn | 2012-01-11
Vous devez vous connecter pour publier un commentaire.
https://developers.facebook.com/bugs/245362365535898?browse=search_4f112135664703a96454690
C'est un bug dans le JS SDK qui a été corrigé et il devrait être poussé dans pas trop longtemps.
Jusqu'alors, vous pouvez effectuer les opérations suivantes
Voir http://hustoknow.blogspot.com/2012/01/dealing-with-zombie-facebook-cookies.html
Lorsque vous vous déconnectez, un cross-domain demande est envoyée à Facebook pour invalider la session. Lorsque vous appuyez sur recharger, une autre demande est envoyée à Facebook du site -- depuis FB reconnaît le cookie comme invalide, elle correctement supprime le cookie de votre navigateur.
Je soupçonne que c'est une regexp bug dans la façon dont ils ont oublié d'analyser le fbm_ cookie, récemment introduit dans les derniers jours. Je suis juste surpris que ce correctif n'a pas été poussé.
Ce FB.déconnexion de la méthode de travail est de 100%.
Le problème est que les utilisateurs essaient d'appeler à partir de localhost, ce qui n'est pas de travail.
S'il vous plaît essayer de l'appeler à partir du serveur.
J'ai la même expérience avec le
FB.Logout()
ne fonctionne pas comme annoncé. Comme solution j'ai utiliser le dessous des fonction javascript pour vérifier si l'utilisateur est connecté, et si oui, rediriger vers https://www.facebook.com/logout.php avec l'URL de la page suivante pour charger et leur jeton d'accès:Afficher/masquer la bit est juste jQuery pour afficher ou masquer les divs qui ont un login et un bouton de déconnexion. La déconnexion onclick du bouton déclenche la reallyLogout() fonction.
Cela fonctionne pour mon application.
J'ai été confronté à même genre de problème. J'ai utilisé
FB.getLoginStatus()
après Déconnexion.Que j'ai passé beaucoup de temps pour savoir exactement ce qui se passe dans le FB de se déconnecter, se sentait mieux de le partager ici pour les autres.
Première chose, Merci de lire la documentation ici
ce point tué 90% de mon temps. Quand je me suis connecté à partir de facebook.com et en essayant de test bouton de connexion dans ma demande, il a fonctionné comme prévu, mais de déconnexion n'était pas la résiliation de la session.
Solution ou Réparer: selon les scénarios donnés dans le document, il ne va pas mettre fin à la session de l'utilisateur, la connexion est pas entamé la à partir de l'app, c'est à partir de facebook.com. donc dans ce cas, fb ne va pas mettre fin à la session.
Quand vous vous connectez à facebook, à partir de votre application (frais de connexion nom d'utilisateur et mot de passe), système d'envisager la source/de déclenchement de la session de votre application. ainsi, lorsque vous vous logout (fenêtre.FB.déconnexion ou FB.déconnexion), il va mettre fin à la session d'utilisateur complètement.
Merci donc de déconnexion de l'facebook.com avant de tester la fonctionnalité de login dans votre application.
Que d'autres mentionné, l'utilisation de code ci-dessous pour vous déconnecter
Dernier mais non le moindre: pour tester à partir de localhost, veuillez mettre à jour les paramètres de FB APP
Cela va résoudre les problèmes rencontrés dans les essais à partir de localhost
Il apparaît brisé dans Facebook. Sur FB rell vous pouvez de connexion, mais la fonction de déconnexion ne fait rien. http://www.fbrell.com/auth/all-in-one
Ok les gars, j'ai trouvé une solution pour cela:
Mettre en place l'événement onClick pour la déconnexion
<a>
balise comme ceciTous ensemble:
dans asp.net application mvc, je l'ai fait ci-dessous.
Il peut être ne fonctionne pas parce que vous n'incluez pas votre Facebook app clé. Il fonctionne pour moi comme ceci: