使用VueJs在Firebase上重置密码

时间:2017-09-25 11:22:28

标签: firebase vue.js firebase-authentication

我想用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>

我的密码重置文件是component,位于<script>我有:

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 () {

        }
    }

}

当用户设置新密码时,我得到的只是用户为空的控制台,请参见下图:

enter image description here

1 个答案:

答案 0 :(得分:0)

您使用的不正确。 当您发送重置密码电子邮件时,表示用户未登录。更新密码时,用户已登录。 在您的情况下,您需要致电auth.confirmPasswordReset(code, newPass)。有关此API的更多信息,请查看:https://firebase.google.com/docs/reference/js/firebase.auth.Auth#confirmPasswordReset

有关构建自己的密码重置着陆页的详细信息,请查看:https://firebase.google.com/docs/auth/custom-email-handler