使用 JavaScript 通过基于密码的帐号进行 Firebase 身份验证

借助 Firebase 身份验证,您可以让您的用户使用其电子邮件地址和密码进行 Firebase 身份验证,还可以管理您的应用的基于密码的帐号。

开始之前

  1. 将 Firebase 添加到您的 JavaScript 项目
  2. 如果您尚未将自己的应用关联到您的 Firebase 项目,请在 Firebase 控制台中进行关联。
  3. 启用“电子邮件地址/密码”登录方法:
    1. Firebase 控制台中,打开 Authentication(身份验证)部分。
    2. 登录方法标签中,启用电子邮件地址/密码登录方法,然后点击保存

创建一个基于密码的帐号

要创建一个使用密码的新用户帐号,请在您的应用的登录页面中完成以下步骤:

  1. 当新用户使用您的应用注册表单注册时,完成您的应用需要的所有新帐号验证步骤,例如验证新帐号的密码是否正确,是否符合您规定的密码复杂度要求。
  2. 通过将新用户的电子邮件地址和密码传递给 createUserWithEmailAndPassword 来创建一个新帐号:
    firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    创建新帐号后,用户会自动登录。查看下面的“后续步骤”部分,获取有关已登录用户的详细信息。

    您还可以通过这种方法捕捉并处理错误。要获取错误代码列表,请参阅身份验证参考文档

使用电子邮件地址和密码让用户登录

使用密码让用户登录的步骤与创建新帐号的步骤类似。在您的应用的登录页面中,执行以下操作:

  1. 当某个用户登录到您的应用时,将该用户的电子邮件地址和密码传递给 signInWithEmailAndPassword
    firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    查看下面的“后续步骤”部分,获取有关已登录用户的详细信息。

    您还可以通过这种方法捕捉并处理错误。要获取错误代码列表,请参阅身份验证参考文档

后续步骤

在用户首次登录后,系统会创建一个新的用户帐号,并将其与该用户登录时使用的凭据(即用户名、密码、电话号码或者身份验证提供方信息)相关联。此新帐号存储在您的 Firebase 项目中,无论用户采用何种方式登录,您项目中的每个应用都可以使用此帐号来识别用户。

  • 在您的应用中,建议采用在 Auth 对象上设置观察者的方式来了解用户的身份验证状态。您可以从 User 对象获取用户的个人资料基本信息。请参阅管理用户

  • 在您的 Firebase 实时数据库和 Cloud Storage 安全规则中,您可以从 auth 变量获取已登录用户的唯一用户 ID,然后用此 ID 来控制用户可以访问哪些数据。

您可以允许用户通过多种身份验证提供方服务登录您的应用,只需将多个身份验证提供方凭据关联至现有用户帐号即可。

要让用户退出帐号,可调用 signOut

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}).catch(function(error) {
  // An error happened.
});

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面