6 passwords node.js firebase-authentication firebase-admin
我正在尝试实现一项功能,让用户在登录时在其设置页面中更改密码,并且当用户尝试更改密码时,我需要用户的旧密码和新密码,作为额外的安全措施。我的问题是我找不到方法来验证用户的旧密码是否正确。是否有捷径可寻?
我在服务器上收到输入的表单输入,因此解决方案必须位于后端(node.js)
非常感谢
尽管已接受的解决方案有效,但还有一种方法可以使用Google Identity Kit REST API 的“verifyPassword”端点(最近已重命名为“signInWithPassword”,但工作原理完全相同)从后端验证用户密码:
HTTP POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[YOUR_FIREBASE_API_KEY]
{
email,
password,
}
Run Code Online (Sandbox Code Playgroud)
如果该端点没有返回错误,则意味着密码有效。
请参阅本主题以获取更多信息。
你必须在客户端进行。这不是管理 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.
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6280 次 |
| 最近记录: |