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()
私の目的は、ログインした管理者ユーザーがシステムから他のユーザーを削除できるようにすることです。
更新: Firebase Admin SDK が管理者権限で実行され、 ユーザーを削除できるようになりました 。これらのAdmin SDKはクライアント側のコードでは実行できませんが、開発マシン、制御するサーバー、Cloud Functionsなどの信頼できる環境で使用する必要があります。
以下も参照してください:
前の回答
ユーザーを[クライアント側コードから]現在削除する唯一の方法は、最初にそのユーザーとしてログインすることです。現在、そのユーザーが最初にログインしていないユーザーを削除するAPIはありません。
この機能は多くのアプリに必要であることを認識しており、追加に取り組んでいます。しかし、いつものように、いつ利用可能になるかについてのタイムラインはありません。
それまでの間、一般的なアプローチは、たとえばFirebase Databaseにホワイトリスト/ブラックリストを保持し、それに基づいて承認することです。 Firebase 3.xでサインアップを無効にする方法
認証を行ったのと同じ方法でこのコードを適用してください。
var user = firebase.auth().currentUser;
user.delete().then(function() {
// User deleted.
}).catch(function(error) {
// An error happened.
});
npm i --save firebase-admin
"firebase-admin"から管理者としてインポート*