Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best way to implement logout in Firebase v3.0.1+? Firebase.unauth is removed after update

Using new firebase 3.0.1 which was recently published by google.

Before, we had Firebase.unauth() method https://www.firebase.com/docs/web/api/firebase/unauth.html

But it's old API. I can't see anything related in new API:

https://firebase.google.com/docs/reference/node/index-all

What are your solutions? Trying to use something like:

Object.keys(localStorage).forEach(key => {
  if (key.indexOf('firebase') !== -1) {
    localStorage.removeItem(key);
  }
});
like image 280
Lukas Liesis Avatar asked May 20 '16 09:05

Lukas Liesis


3 Answers

catch error with callback:

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}, function(error) {
  // An error happened.
});

or with .catch as Adam mentioned.

firebase.auth().signOut()
  .then(function() {
    // Sign-out successful.
  })
  .catch(function(error) {
    // An error happened
  });

Or with await and try...catch if inside async function

try {
  await firebase.auth().signOut();
  // signed out
} catch (e){
 // an error
} 

https://firebase.google.com/docs/auth/web/password-auth#next_steps

thanks AndréKool for directions :-)

like image 112
Lukas Liesis Avatar answered Oct 18 '22 08:10

Lukas Liesis


This statement logouts the user.

    FirebaseAuth.getInstance().signOut();
like image 40
Ashish Avatar answered Oct 18 '22 08:10

Ashish


Lukas Liesis has the correct firebase signOut() method but to resolve a rejected promise, I used .catch() instead.

firebase.auth().signOut()
  .then(function() {
    // Sign-out successful.
  })
  .catch(function(error) {
    // An error happened
  });
like image 20
AdamMescher Avatar answered Oct 18 '22 09:10

AdamMescher