Firebase密码重置

时间:2013-01-30 16:14:42

标签: login passwords reset firebase

我正在尝试创建密码重置机制并且卡住了。有关如何使用Firebase基本电子邮件/密码身份验证的任何建议

4 个答案:

答案 0 :(得分:9)

[Firebase工程师 - 更新2014-01-27]

Firebase Simple Login现在支持密码重置以进行电子邮件/密码验证。

每个简单登录客户端库都有一个新方法,可以为指定的电子邮件地址生成密码重置电子邮件 - 网络和Android上的sendPasswordResetEmail()以及iOS上的sendPasswordResetForEmail()

此电子邮件将包含一个临时令牌,用户可以使用该令牌登录其帐户并更新其凭据。此令牌将在24小时后或用户更改密码时到期,以先发生者为准。

另请注意,Firebase简单登录可以完整配置电子邮件模板以及发送地址(包括来自您域中的付费帐户的whitelabel电子邮件)。

要访问此功能,您需要将客户端库更新为v1.2.0或更高版本。要获取最新版本,请查看https://firebase.google.com/docs/

另外,请查看https://firebase.google.com/docs/auth/web/password-auth以获取最新的Firebase简单登录 - Web客户端文档。

答案 1 :(得分:4)

这是Firebase不能很好地完成的事情。您会注意到它需要用户记住他们的旧密码。通常,如果你想重置密码,那是因为你已经忘记了密码。希望改进他们为帐户管理提供的方法。

答案 2 :(得分:0)

https://www.firebase.com/docs/security/simple-login-email-password.html

authClient.changePassword(email, oldPassword, newPassword, function(error, success) {
  if (!error) {
    console.log('Password change successfully');
  }
});

答案 3 :(得分:0)

这是第一个在试图找出我的问题时出现的google结果..对于任何使用yeoman angularfire生成器但想要添加发送电子邮件功能的人,这应该可行。 将以下内容添加到simpleLogin.js中的简单登录工厂:

   resetPassword: function(emailIn){
       return auth.$resetPassword({
          email: emailIn
        }, function(error) {
          if (error) {
            switch (error.code) {
              case "INVALID_USER":
                console.log("The specified user account does not exist.");
                break;
              default:
                console.log("Error resetting password:", error);
            }
          } else {
            console.log("Password reset email sent successfully!");
          }
      });
    },

并从您的login.js文件中调用它

  $scope.resetPassword = function(email){

  simpleLogin.resetPassword(email)
};