Firebase密码重置

17

我正在尝试创建一个密码重置机制,但是遇到了困难。有没有建议如何在Firebase基本的电子邮件/密码验证中实现这个功能。


6
我是Firebase的工程师。我们目前还没有推出重置用户密码的功能,但希望尽快实现。我已将您添加到我们的“特性等待列表”中,并在进展时会在这里跟进。如果您想了解更多信息,也可以直接通过邮箱rob at firebase.com联系我。谢谢! - Rob DiMarco
4个回答

11

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

Firebase Simple Login现在支持电子邮件/密码身份验证的密码重置。

每个Simple Login客户端库都有一个新方法,用于为指定的电子邮件地址生成密码重置电子邮件 - Web和Android上的sendPasswordResetEmail()以及iOS上的sendPasswordResetForEmail()

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

另请注意,Firebase Simple Login使完全配置电子邮件模板以及发送地址成为可能(包括付费账户的白标电子邮件来自您的域名)。

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

此外,请查看https://firebase.google.com/docs/auth/web/password-auth了解最新的Firebase Simple Login-Web Client文档。


这个重置邮件可以定制吗? - sam_smith
@Rob DiMarco 谢谢!但是为什么 Firebase 允许在我手动从控制台重置该帐户的密码后仍然使用旧密码。这是预期的行为吗? - Preetam
@Preetam 是的 - 控制台中的该操作会向用户发送密码重置电子邮件,但不会更改帐户密码。 - Rob DiMarco

4

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


0

这是我在尝试解决问题时找到的第一个谷歌搜索结果.. 对于任何使用yeoman angularfire generator但想要添加发送电子邮件功能的人,这应该有效。 将以下内容添加到simpleLogin.js中的simple login factory:

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

0

1
这是在您登录后,注意它需要旧密码。我正在请求不需要知道旧密码的密码重置,因为用户忘记了它们。 - Jim McDermott
那我不知道。你可以删除用户并重新创建,但是这样你就必须交换所有对它的引用。 - abrkn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接