Lukas Liesis
Lukas Liesis

Reputation: 26423

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);
  }
});

Upvotes: 66

Views: 81022

Answers (3)

Lukas Liesis
Lukas Liesis

Reputation: 26423

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 :-)

Upvotes: 148

AdamMescher
AdamMescher

Reputation: 128

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
  });

Upvotes: 12

Ashish
Ashish

Reputation: 97

This statement logouts the user.

    FirebaseAuth.getInstance().signOut();

Upvotes: 4

Related Questions