web-dev-qa-db-ja.com

Firebaseから特定のユーザーを削除する

Firebaseから特定のユーザーアカウントを取得して削除する方法はありますか?

例えば:

// I need a means of getting a specific auth user.
var user = firebase.auth().getUser(uid);
// Note the getUser function is not an actual function.

その後、そのユーザーとその追加データを削除します。

// This works
user.delete().then(function() {
   // User deleted.
   var ref = firebase.database().ref(
      "users/".concat(user.uid, "/")
   );
   ref.remove();
});

Firebaseドキュメント は、ユーザーが現在ログインしている場合は削除できることを示しています。

firebase.auth().currentUser.delete()

私の目的は、ログインした管理者ユーザーがシステムから他のユーザーを削除できるようにすることです。

20
b4oshany

更新: Firebase Admin SDK が管理者権限で実行され、 ユーザーを削除できるようになりましたこれらのAdmin SDKはクライアント側のコードでは実行できませんが、開発マシン、制御するサーバー、Cloud Functionsなどの信頼できる環境で使用する必要があります。

以下も参照してください:


前の回答

ユーザーを[クライアント側コードから]現在削除する唯一の方法は、最初にそのユーザーとしてログインすることです。現在、そのユーザーが最初にログインしていないユーザーを削除するAPIはありません。

この機能は多くのアプリに必要であることを認識しており、追加に取り組んでいます。しかし、いつものように、いつ利用可能になるかについてのタイムラインはありません。

それまでの間、一般的なアプローチは、たとえばFirebase Databaseにホワイトリスト/ブラックリストを保持し、それに基づいて承認することです。 Firebase 3.xでサインアップを無効にする方法

15

認証を行ったのと同じ方法でこのコードを適用してください。

var user = firebase.auth().currentUser;

user.delete().then(function() {
  // User deleted.
}).catch(function(error) {
  // An error happened.
});
2
Rahul Parmar

npm i --save firebase-admin

"firebase-admin"から管理者としてインポート*

0
Ali Haider