Firebase Admin SDK-根据服务器上的变量检查用户密码

时间:2018-09-26 17:39:48

标签: node.js passwords firebase-admin change-password

我正在尝试为用户实施一项功能,以便用户在登录时在其设置页面中更改其密码,当他们尝试更改该密码时,我要求用户使用旧密码以及新密码,以提高安全性测量。我的问题是我无法找到一种方法来验证用户的旧密码是否正确。有没有简单的方法可以做到这一点?

我在服务器上收到了输入的表单输入,因此解决方案必须在后端(node.js)

非常感谢

1 个答案:

答案 0 :(得分:1)

您必须在客户端执行此操作。这不是admin SDK旨在处理的操作。您将要求当前用户输入密码并重新进行身份验证,然后更新密码:

const cred = firebase.auth.EmailAuthProvider.credential(
    firebase.auth().currentUser.email, oldPass);
firebase.auth().currentUser.reauthenticateWithCredential(cred)
  .then(() => {
    return firebase.auth().currentUser.updatePassword(newPass);
  })
  .catch((error) => {
    // Some error.
  });