Подтвердить что ты не робот

Лучший способ реализовать выход из Firebase v3.0.1? Firebase.unauth удаляется после обновления

Использование новой Firebase 3.0.1, которая была недавно опубликована Google.

До этого у нас был Firebase.unauth() метод https://www.firebase.com/docs/web/api/firebase/unauth.html

Но это старый API. Я не вижу ничего связанного в новом API:

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

Каковы ваши решения? Попытка использовать что-то вроде:

Object.keys(localStorage).forEach(key => {
  if (key.indexOf('firebase') !== -1) {
    localStorage.removeItem(key);
  }
});
4b9b3361

Ответ 1

ошибка catch с обратным вызовом:

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

или с.catch, как упомянул Адам.

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

Или с ожиданием и try...catch если внутри асинхронная функция

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

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

спасибо AndréKool за указания :-)

Ответ 2

У Лукаса Лисаиса есть правильный метод signOut(), но для решения отклоненного обещания вместо этого я использовал .catch().

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

Ответ 3

Эта инструкция выводит пользователя из системы.

    FirebaseAuth.getInstance().signOut();