Comme j'ai passé beaucoup de temps à découvrir exactement ce qui se passe lors de la déconnexion de FB, j'ai préféré le partager ici pour les autres.
Première chose, veuillez lire la documentation ici
Une personne se connecte sur Facebook, puis se connecte à votre application. En se déconnectant de votre application, cette personne reste connectée sur Facebook.
Ce point a pris 90% de mon temps. Quand je me suis connecté depuis facebook.com et que j'ai essayé de tester le bouton de connexion dans mon application, cela a fonctionné comme prévu, mais la déconnexion ne mettait pas fin à la session.
Solution ou correctif : Comme indiqué dans les scénarios donnés dans le document, cela ne mettra pas fin à la session de l'utilisateur, car la connexion n'est pas initiée depuis l'application, mais depuis facebook.com. donc dans ce cas, fb ne mettra pas fin à la session.
Lorsque vous vous connectez à fb, depuis votre application (nouvelle connexion en tant que nom d'utilisateur et mot de passe), le système considère la source/déclencheur de la session comme étant votre application. donc lorsque vous vous déconnectez (window.FB.logout ou FB.logout) cela mettra fin complètement à la session de l'utilisateur.
Veuillez donc vous déconnecter de facebook.com avant de tester la fonctionnalité de connexion dans votre application.
Comme mentionné par d'autres, utilisez le code ci-dessous pour vous déconnecter
FB.logout(function(response) {
// la réponse de la déconnexion comportera authResponse avec le jeton d'accès, il est donc préférable de tester le statut car il renverra "inconnu"
if(response.status !== "connected") { } \\ effectuer une vérification sur le statut de la connexion avant de considérer la déconnexion réussie.
});
Enfin, pour tester depuis localhost, veuillez mettre à jour les paramètres dans l'APP FB
- Mettons à jour Domaines de l'application à localhost
- URL du site sous Site Web à http://localhost:3000/
Cela résoudra les problèmes rencontrés lors des tests depuis localhost