Comment créer des “informations d'identification” objet requis par Firebase web de l'utilisateur.authentifier() la méthode?
L' (pas clair) exemple dans le nouveaux docs:
var user = firebase.auth().currentUser;
var credential;
//Prompt the user to re-provide their sign-in credentials
user.reauthenticate(credential).then(function() {
Avec la v3 Firebase client, comment dois-je créer ce credential
objet?
J'ai essayé:
reauthenticate(email, password)
(comme la méthode de login)reauthenticate({ email, password })
(les docs de mentionner un argument uniquement)
Pas de chance 🙁
PS: je ne compte pas les heures perdues à la recherche de l'information pertinente dans les nouveaux docs... je m'ennuie tellement fabuleux firebase.com docs, mais je voulais passer à la v3 pour firebase.stockage...
Vous devez vous connecter pour publier un commentaire.
J'ai réussi à le faire fonctionner, les documents doivent être mis à jour pour inclure ce pour qui ne veut pas passer trop de temps dans la exhaustive mais dur à lire de référence.
Les informations d'identification de l'objet est créé comme suit:
var currentCredential = firebaseAuth.EmailAuthProvider.credential(vm.currentAuth.email, vm.oldPassword); vm.currentAuth.reauthenticate(currentCredential) .then(function() { Database.updateUserPassword(vm.newPassword); }, function(error) { console.error('[Account]', error); });
updatePassword
est unUser
méthode. Donc, dans votre code, je pense que ce serait:firebase.auth().currentUser.updatePassword(vm.newPassword)
. Aussi soyez prudent dans votre code si vous utilisez des promesses ou des rappels, pas sûr que vous avez, parce que le code dans les commentaires est assez difficile à lire.firebase.auth().currentUser.reauthenticate(credentialsObject).then(function() { return firebase.auth().currentUser.updatePassword(newPassword); }).then(function() { /* We're done here */ }).catch(function(error) { /* deal with error here */ });
Réponse complète - vous pouvez effectuer les opérations suivantes:
Veuillez noter que
reauthenticateWithCredential
est la version mise à jour dereauthenticate()
Je suis d'accord que la documentation n'est pas assez clair sur ce point. Mais en regardant d'un peu plus près la référence de l'API, j'ai trouvé firebase.auth.AuthCredential et cette et je suppose que vous devriez être à la recherche pour le passer à
reauthenticate()
.Je devine ici, mais je voudrais commencer à essayer de connecter le
firebase.auth()
pour voir si il n'y a aucunecredential
objet.Je suppose qu'il va ressembler à quelque chose comme ce qui suit: