Firebase版本3中的changePassword()方法

时间:2016-09-13 10:01:51

标签: javascript firebase react-native firebase-authentication

我在我的React Native iOS项目中使用firebase ver 3.2.1。我从版本2.4.2 here读取日志,有一个名为 changePassword()的方法,可用于更改用户密码。

但是当我查看Firebase ver 3.2.1的文档时,我找不到任何名为 changePassword()的方法。所以我想知道, changePassword()方法不能再用于Firebase版本3了吗?

感谢。

2 个答案:

答案 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
        });