在我们的项目中,有一个选项,用户可以更改其密码。要做到这一点
我正在使用react native和Firebase来开发项目。如果有人知道解决方案,请告诉我......
答案 0 :(得分:0)
除非您最近通过身份验证,否则Firebase Auth不会让您更改密码。如果您在未经过最近身份验证的情况下尝试updatePassword
,则会收到错误auth/requires-recent-login
。
以下是如何做到这一点:
// Ask signed in user for current password.
const currentPass = window.prompt('Please enter current password');
const emailCred = firebase.auth.EmailAuthProvider.credential(
firebase.auth().currentUser, currentPass);
firebase.auth().currentUser.reauthenticateWithCredential(emailCred)
.then(() => {
// User successfully reauthenticated.
const newPass = window.prompt('Please enter new password');
return firebase.auth().currentUser.updatePassword(newPass);
})
.catch(error = > {
// Handle error.
});
请注意上面的示例,使用window.prompt
进行说明。您可以在此处使用自己的等效反应原生UI。