Best way to implement logout in Firebase v3.0.1+?

2020-05-29 12:56发布

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

3条回答
等我变得足够好
2楼-- · 2020-05-29 13:25

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
  });
查看更多
Ridiculous、
3楼-- · 2020-05-29 13:32

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

查看更多
干净又极端
4楼-- · 2020-05-29 13:40

This statement logouts the user.

    FirebaseAuth.getInstance().signOut();
查看更多
登录 后发表回答