Depuis la version ^ 3.0.0, j'ai du mal à supprimer l'écouteur de changement d'état d'authentification.
Pour démarrer l'écouteur selon la documentation:
firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
Cependant, je ne trouve nulle part dans la documentation qui fait référence à un écouteur de changement d'état de suppression d'authentification. Il existe une fonction particulière sur la classe Firebase.Auth appelée removeAuthTokenListener
. Malheureusement, ce n'est pas documenté ( référence des documents Firebase ).
Via la console Web de votre navigateur.
var auth = firebase.auth();
auth.removeAuthTokenListener;
imprime une définition de fonction qui prend un paramètre. J'ai essayé de faire ce qui suit:
this.authListener = firebase.auth().onAuthStateChanged(function (user) {...});
firebase.auth().removeAuthTokenListener(this.authListener);
mais cela n'a rien fait.
Selon la documentation , la fonction onAuthStateChanged()
renvoie
La fonction de désabonnement pour l'observateur.
Vous pouvez donc simplement:
var unsubscribe = firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
Et alors:
unsubscribe();