Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Firebase管理SDK-检查用户';针对服务器上的变量设置密码_Node.js_Firebase Authentication_Passwords_Firebase Admin - Fatal编程技术网

Node.js Firebase管理SDK-检查用户';针对服务器上的变量设置密码

Node.js Firebase管理SDK-检查用户';针对服务器上的变量设置密码,node.js,firebase-authentication,passwords,firebase-admin,Node.js,Firebase Authentication,Passwords,Firebase Admin,我正在尝试实现一项功能,让用户在登录时在其设置页面中更改密码,并且我需要用户的旧密码以及新密码,以作为额外的安全措施。我的问题是,我无法找到一种方法来验证用户的旧密码是否正确。有没有一个简单的方法可以做到这一点 我在服务器上接收输入的表单输入,因此解决方案必须位于后端(node.js) 非常感谢您必须在客户端执行此操作。这不是AdminSDK设计用来处理的操作。您将向当前用户询问密码,并使用密码重新验证,然后更新密码: const cred = firebase.auth.EmailAuthPr

我正在尝试实现一项功能,让用户在登录时在其设置页面中更改密码,并且我需要用户的旧密码以及新密码,以作为额外的安全措施。我的问题是,我无法找到一种方法来验证用户的旧密码是否正确。有没有一个简单的方法可以做到这一点

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


非常感谢

您必须在客户端执行此操作。这不是AdminSDK设计用来处理的操作。您将向当前用户询问密码,并使用密码重新验证,然后更新密码:

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.
  });