我在我的React Native iOS项目中使用firebase ver 3.2.1。我从版本2.4.2 here读取日志,有一个名为 changePassword()的方法,可用于更改用户密码。
但是当我查看Firebase ver 3.2.1的文档时,我找不到任何名为 changePassword()的方法。所以我想知道, changePassword()方法不能再用于Firebase版本3了吗?
感谢。
答案 0 :(得分:11)
由于 Firebase v3.0 ,changePassword
方法不再可用。如果您需要重置用户密码,可以使用自定义电子邮件操作处理程序:https://firebase.google.com/docs/auth/custom-email-handler
以下用户管理操作要求用户使用电子邮件操作处理程序完成操作:重置密码
我建议您阅读文档,然后您就可以快速重置用户的密码。
编辑:如果您不需要重置密码但只需更新密码,则可以使用updatePassword
方法。
let user = firebase.auth().currentUser;
let newPassword = getASecureRandomPassword();
user.updatePassword(newPassword).then(() => {
// Update successful.
}, (error) => {
// An error happened.
});
重要提示:要设置用户密码,用户必须最近登录。请参阅重新验证用户身份。
此处有更多信息:https://firebase.google.com/docs/auth/web/manage-users#set_a_users_password
希望这有帮助!
答案 1 :(得分:2)
firebase.auth()
.signInWithEmailAndPassword('email', 'oldPassword')
.then(function(user) {
firebase.auth().currentUser.updatePassword('newPassword').then(function(){
//Do something
}).catch(function(err){
//Do something
});
}).catch(function(err){
//Do something
});