我有用户个人资料页面。在那儿我有三个领域。名称,电子邮件,密码。我可以获取名称和电子邮件,但无法获取用户密码。如何获取用户密码并将其存储在v-model指令中。
<template>
<div class="profile-outer">
<input type="text" v-model="profile.name">
<input type="email" v-model="profile.email">
<input type="password" v-model="profile.password">
</div>
</template>
data() {
return {
profile: {
name: '',
email: '',
password: '',
}
};
}
created() {
firebase.auth().onAuthStateChanged(user => {
if (user) {
this.profile.email = user.email;
this.profile.name = user.displayName;
console.log(user);
} else {
}
})
},
答案 0 :(得分:2)
使用onAuthStateChanged()
方法,您会在回调函数中获得User
,并且无法从此User对象获取用户密码。
实际上,出于安全原因,对于客户端SDK,您无法获取用户密码。
如果您确实希望能够从应用程序前端获取用户密码,则可以将其保存在特定的数据库记录中。但是,在这种情况下,您将需要实现自己的密码更新机制(例如通过Cloud Function),以避免“真实”用户密码与存储在数据库记录中的密码之间的不同步。例如,如果用户可以执行sendPasswordResetEmail()
方法,则不会使用新的密码值更新数据库文档。
最后,请注意,如果选择此方法,则应注意使用安全规则正确保护用户(数据库)记录。