繁体   English   中英

Firebase 获取当前用户密码

[英]Firebase get current user password

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

使用onAuthStateChanged()方法,您可以在回调函数中获得一个User并且无法从这个 User 对象中获得用户密码。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM