web-dev-qa-db-ja.com

Firebase v3.0.1にログアウトを実装する最良の方法は? Firebase.unauthは更新後に削除されます

Googleが最近公開した新しいfirebase 3.0.1を使用しています。

以前は、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);
  }
});
34
Lukas

コールバックでエラーをキャッチ:

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

またはAdamが述べたように.catchを使用します。

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

または、async関数内でawaitおよび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 方向:-)

88
Lukas

Lukas Liesisには正しいfirebase signOut()メソッドがありますが、拒否されたプロミスを解決するために、代わりに.catch()を使用しました。

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

このステートメントは、ユーザーをログアウトさせます。

    FirebaseAuth.getInstance().signOut();
2
Ashish