Firebase获取当前用户密码

时间:2019-12-04 18:35:12

标签: firebase vue.js firebase-authentication

我有用户个人资料页面。在那儿我有三个领域。名称,电子邮件,密码。我可以获取名称和电子邮件,但无法获取用户密码。如何获取用户密码并将其存储在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 {
      }
    })
  },

1 个答案:

答案 0 :(得分:2)

使用onAuthStateChanged()方法,您会在回调函数中获得User,并且无法从此User对象获取用户密码。

实际上,出于安全原因,对于客户端SDK,您无法获取用户密码。

如果您确实希望能够从应用程序前端获取用户密码,则可以将其保存在特定的数据库记录中。但是,在这种情况下,您将需要实现自己的密码更新机制(例如通过Cloud Function),以避免“真实”用户密码与存储在数据库记录中的密码之间的不同步。例如,如果用户可以执行sendPasswordResetEmail()方法,则不会使用新的密码值更新数据库文档。

最后,请注意,如果选择此方法,则应注意使用安全规则正确保护用户(数据库)记录。