web-dev-qa-db-fra.com

Supprimer un utilisateur spécifique de Firebase

Existe-t-il un moyen d'obtenir un compte d'utilisateur spécifique de Firebase et de le supprimer?

Par exemple:

// 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.

Après, je veux supprimer cet utilisateur et ses données supplémentaires:

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

Firebase Documentation indique que les utilisateurs peuvent être supprimés s'ils sont actuellement connectés:

firebase.auth().currentUser.delete()

Mon objectif est de permettre à l'utilisateur administrateur connecté de supprimer d'autres utilisateurs du système.

20
b4oshany

Mise à jour: il existe maintenant SDK Admin Firebase qui s'exécutent avec des privilèges administratifs et vous permettent de supprimer des utilisateurs . Ces SDK d'administration ne peuvent pas être exécutés dans votre code côté client, mais doivent à la place être utilisés dans un environnement approuvé, tel que votre machine de développement, un serveur que vous contrôlez ou les fonctions cloud.

Regarde aussi:


Réponse précédente

La seule façon de supprimer actuellement un utilisateur [du code côté client] est de d'abord se connecter en tant qu'utilisateur. Il n'existe actuellement aucune API pour supprimer un utilisateur sans que cet utilisateur se connecte au préalable.

Nous sommes conscients que cette fonctionnalité est nécessaire pour de nombreuses applications et travaillons à l'ajouter. Mais comme d'habitude, nous n'avons pas de calendrier sur le moment où il sera disponible.

En attendant, une approche courante consiste à conserver une liste blanche/liste noire, par exemple dans la base de données Firebase et à autoriser en fonction de cela. Voir Comment désactiver l'inscription dans Firebase 3.x

15
Frank van Puffelen

Appliquez simplement ce code de la même manière que pour l'authentification.

var user = firebase.auth().currentUser;

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

npm i - enregistrer firebase-admin

importer * en tant qu'administrateur depuis "firebase-admin"

0
Ali Haider