As of version ^3.0.0, I'm having a difficult time removing the auth state change listener.
To start the listener per the documentation:
firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
However, I cannot find anywhere in the documentation that refers to a remove auth state change listener. There is peculiar function on the Firebase.Auth class called removeAuthTokenListener
. Unfortunately it's not documented (firebase docs reference).
Via your browser's web console.
var auth = firebase.auth();
auth.removeAuthTokenListener;
prints a function definition that takes one parameter. I tried to do the following:
this.authListener = firebase.auth().onAuthStateChanged(function (user) {...});
firebase.auth().removeAuthTokenListener(this.authListener);
but that didn't do anything.
According to the documentation, the onAuthStateChanged()
function returns
The unsubscribe function for the observer.
So you can just:
var unsubscribe = firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
And then:
unsubscribe();