2017-09-25 1 views
1

Je souhaite réinitialiser le mot de passe avec Vuejs. J'ai réussi à envoyer le lien de réinitialisation du mot de passe avec mon URL personnalisée, et lorsque les utilisateurs cliquent dessus, il redirige vers un formulaire personnalisé. url mot de passe de réinitialisation est:Mot de passe réinitialisé sur Firebase avec VueJs

http://localhost:8080/passwordreset?mode=resetPassword&oobCode=viIqct7-jvuNnZxMEgyyRualxpX5CmZ3_EJrCQi-C88AAAFeuLXmWg&apiKey=AIzaSyBaCCvq-ZEfQmdrL7fmElXDjZF_J-tku2I

<input type="password" v-model="passwordNew" class="" placeholder="New password"> 

<input type="password" v-model="passwordConfirm"class=""placeholder="Confirm Password"> 

<button class="btn" v-on:click="resetPassword">Reset Password</button> 

Mon fichier de réinitialisation de mot de passe est un component, sous mon <script> j'ai:

import firebase from 'firebase' 
export default { 

    data: function() { 
     return { 
      passwordNew: '', 
      passwordConfirm: '', 
     } 
    }, 
    methods: { 
     resetPassword: function() { 
      var newPassword = this.passwordNew 

      var user = firebase.auth().currentUser; 
      console.log (" User: "+ user); 

      user.updatePassword(newPassword).then(function() { 
       // Update successful. 
       alert("Reset Password successful") 
      }).catch(function(error) { 
       // An error happened. 
      }); 

     }, 
     checkPasswords: function() { 

     } 
    } 

} 

Tout ce que je reçois lorsque l'utilisateur définit le nouveau mot de passe est en console cet utilisateur est null, voir l'image ci-dessous:

enter image description here

Répondre

0

Vous n'utilisez pas cela correctement. Lorsque vous envoyez un e-mail de réinitialisation de mot de passe, cela signifie que l'utilisateur n'est pas connecté. Lorsque vous mettez à jour un mot de passe, l'utilisateur est déjà connecté. Dans votre cas, vous devez appeler le auth.confirmPasswordReset(code, newPass). Pour en savoir plus sur cette API, consultez: https://firebase.google.com/docs/reference/js/firebase.auth.Auth#confirmPasswordReset

Pour en savoir plus sur la construction de votre propre page d'atterrissage de réinitialisation de mot de passe, vérifiez: https://firebase.google.com/docs/auth/custom-email-handler

+0

Eh bien je besoin d'un exemple de code pour me aider, devrais-je supprimer tout mon code et l'utilisation mis en œuvre les exemples de cette documentation: https://firebase.google.com/docs/auth/custom-email-handler – Muli