Удалить конкретного пользователя из 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()

Моя цель - разрешить вошедшему в систему администратору удалять других пользователей из системы.

Ответ 1

Обновление: теперь есть Firebase Admin SDK, который работает с правами администратора и позволяет удалять пользователей.

Единственный способ в данный момент удалить пользователя - сначала войти в систему под этим пользователем. В настоящее время нет API для удаления пользователя без первого входа в систему этого пользователя.

Мы знаем, что эта функциональность необходима для многих приложений, и работаем над ее добавлением. Но, как обычно, у нас нет графика времени, когда он будет доступен.

Между тем, общий подход заключается в том, чтобы сохранить белый/черный список, например, в базе данных Firebase и авторизоваться на основе этого. Смотрите Как отключить регистрацию в Firebase 3.x

Ответ 2

Просто примените этот код так же, как вы сделали аутентификацию.

var user = firebase.auth().currentUser;

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