当前位置: 首页 > 知识库问答 >
问题:

我如何使用Firebase简单登录电子邮件

尉迟招
2023-03-14

Firebase 简单登录提供电子邮件/密码选项,我该如何使用它?从创建用户、为该用户存储数据开始,到登录和注销。

共有2个答案

柯乐池
2023-03-14

以防有人访问此线程并使用firebase身份验证查找一些示例应用程序。下面是两个示例

var rootRef = new Firebase('https://docs-sandbox.firebaseio.com/web/uauth');
......
.....
....

http://jsfiddle.net/firebase/a221m6pb/embedded/result,js/

http://www . 42id . com/articles/firebase-authentic ation-and-angular-js/

翟泰
2023-03-14

需要执行三个不同的步骤(假设您有jQuery):

1.设置回调

var ref = new Firebase("https://demo.firebaseio-demo.com");
var authClient = new FirebaseAuthClient(ref, function(error, user) {
  if (error) {
    alert(error);
    return;
  }
  if (user) {
    // User is already logged in.
    doLogin(user);
  } else {
    // User is logged out.
    showLoginBox();
  }
});

2. 用户注册

function showLoginBox() {
  ...
  // Do whatever DOM operations you need to show the login/registration box.
  $("#registerButton").on("click", function() {
    var email = $("#email").val();
    var password = $("#password").val();
    authClient.createUser(email, password, function(error,  user) {
      if (!error) {
        doLogin(user);
      } else {
        alert(error);
      }
    });
  });
}

3.用户登录

function showLoginBox() {
  ...
  // Do whatever DOM operations you need to show the login/registration box.
  $("#loginButton").on("click", function() {
    authClient.login("password", {
      email: $("#email").val(),
      password: $("#password").val(),
      rememberMe: $("#rememberCheckbox").val()
    });
  });
}

当登录成功完成时,将使用正确的用户对象调用您在步骤1中注册的调用,此时我们调用< code>doLogin(user),这是一个您必须实现的方法。

用户数据的结构非常简单。它是一个包含以下属性的对象:

电子邮件:用户 ID 的电子邮件地址:用户的唯一数字(自动递增)ID

FirebaseAuthClient将自动为您验证您的firebsae,无需进一步操作。现在,您可以在安全规则中使用类似下面的内容:

{
  "rules": {
    "users": {
      "$userid": {
        ".read": "auth.uid == $userid",
        ".write": "auth.uid == $userid"
      }
    }
  }
}

这意味着,如果我的用户ID为42,则只有我可以在<code>example.firebaseio-demo上写或读。com/users/42-当我登录时-没有其他人。

请注意,简单登录除了用户的ID和电子邮件之外,不存储任何其他用户信息。如果您想要存储关于用户的附加数据,您必须自己完成(可能在< code>createUser的成功回调中)。您可以像在Firebase中存储任何数据一样存储这些数据——只是要小心谁可以读取或写入这些数据!

 类似资料:
  • 问题内容: 我希望django通过电子邮件而非用户名对用户进行身份验证。一种方法是提供电子邮件值作为用户名值,但我不希望这样。原因是,我有一个,所以我不能有一个。 另一个原因是所有电子邮件都是唯一的,但有时用户名已被使用。因此,我将自动创建用户名为。 我该如何更改才能让Django通过电子邮件进行身份验证? 这就是我创建用户的方式。 这就是我的登录方式。 除了先获取用户名外,登录还有其他方法吗?

  • 我希望django通过电子邮件而不是用户名来验证用户。一种方法是提供电子邮件值作为用户名值,但我不希望这样。原因是,我有一个url

  • null 我需要重新验证用户,最好的方法是什么?在用户登录后,如何切换的状态? 谢谢

  • 我正在使用Apple sign in将用户登录到我的应用程序,然后在Firebase上进行身份验证。现在,有时用户不分享他们的电子邮件,在这种情况下,苹果提供了一个虚构的电子邮件。登录后,am通过先用Firebase验证,将电子邮件存储在数据库中。我更新虚构的电子邮件与一个真实的首先在firebase,然后发送验证电子邮件。在firebase上更新主电子邮件后,用户是否可以再次登录苹果,因为苹果仍

  • 在“登录苹果”上,如果用户选择了“隐藏我的电子邮件”,他将注册一个私人电子邮件ID。同样,如果同一个用户尝试使用原始电子邮件地址(使用任何社交媒体帐户或原始电子邮件id)注册,他将被视为不同的用户? 如何可能确保我们在注册后数据库中有一个唯一的用户?

  • 我已经成功地使用 firebase 身份验证实现了电子邮件密码注册,其中我也实施了电子邮件验证。现在,每当用户登录电子邮件验证时,都会被选中,然后只有用户继续。 现在我已经实现了谷歌登录/注册。其中我没有实施电子邮件验证以减少用户的麻烦。但正如我上面所说,每当用户登录电子邮件验证时,只有用户继续前进。 我想要的只是,如果用户用谷歌登录注册,电子邮件应该会被自动验证,而不是用户打开他的帐户来验证帐户