我想用Vuejs重设密码。我设法使用我的自定义网址发送重置密码链接,当用户点击它时,它会重定向到自定义表单。密码重置网址为:
<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 () {
}
}
}
当用户设置新密码时,我得到的只是用户为空的控制台,请参见下图:
答案 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