16

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

4

4 回答 4

11

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

Firebase 简单登录现在支持电子邮件/密码身份验证的密码重置。

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

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

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

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

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

于 2014-01-27T23:15:00.537 回答
4

这是 Firebase 做得不太好的事情。您会注意到它要求用户记住他们的旧密码。通常,如果您想重设密码,那是因为您忘记了密码。希望改进他们为帐户管理提供的方法。

于 2013-08-20T06:03:42.587 回答
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');
  }
});
于 2013-03-01T14:41:53.353 回答
0

这是试图找出我的问题时出现的第一个谷歌结果。对于任何使用 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)
};
于 2015-06-16T15:23:42.923 回答