2015-10-11 3 views
1

J'utilise Firebase Auth (API Web) et je cherche un moyen de vérifier la validité de la combinaison email/mot de passe d'un utilisateur pour la suppression de compte.Existe-t-il un moyen de vérifier les informations d'identification avec Firebase?

Idéalement un appel comme Firebase.isValidCredentials(email, password)

contexte du problème: Dans mon application, lorsqu'un utilisateur demande à supprimer son/son compte, je veux inviter à rentrer dans leur mot de passe en guise de confirmation. Si c'est correct, le compte doit être supprimé avec toutes les autres données associées (vivant sous différents nœuds Firebase). Alors que la vérification des informations d'identification est effectuée par Firebase.removeUser(), cela supprime également le compte authentifié, ce qui ne permet pas de supprimer les données utilisateur (puisque j'ai demandé à Firebase Security d'exiger une authentification active pour manipuler les nœuds de données utilisateur) .

Appréciez les conseils ici, et s'il existe une recette Firebase pour supprimer les comptes utilisateur avec les données utilisateur.

+0

pourrait une règle de sécurité ne résoudre ce problème? Si je peux seulement supprimer le compte une fois authentifié en utilisant l'uid valide, alors je pourrais le faire avant d'appeler removeUser()? Quelles sont les contraintes ici? Cela semble un peu trop facile. – Kato

+0

Hehe. Je pense que là où je suis coincé, c'est que je ne veux pas supprimer les données de l'utilisateur AVANT le rappel de removeUser(), date à laquelle le mot de passe a été validé (mais l'uid valide est parti). Si j'ai supprimé les données utilisateur avant removeUser() alors il y a un risque que le mot de passe soumis à removeUser() soit incorrect et l'utilisateur finirait dans un état limbo (données utilisateur disparues, mais pas le compte). Est-ce que cela a du sens ou est-ce qu'il me manque quelque chose? Merci, Kato. –

+1

Je pense que cela a du sens. Peut-être devriez-vous simplement essayer d'appeler authWithPassword() avec l'email/mot de passe valide pour vérification, puis supprimer l'enregistrement utilisateur, puis appeler removeUser()? Est-ce que cela répond à la contrainte? – Kato

Répondre

1

Firebase.authWithPassword(email, password) peut être utilisé pour confirmer les informations d'identification d'utilisateurs déjà authentifiés, en plus de la signature d'utilisateurs non authentifiés.

(merci Kato pour les conseils!)