📜  在 Firestore 中创建用户 uid (1)

📅  最后修改于: 2023-12-03 14:50:55.049000             🧑  作者: Mango

在 Firestore 中创建用户 uid

Firestore 是一种云数据库服务,可让您将数据存储在云中而非本地机器中。其用户鉴权系统可确保仅授权用户可以访问他们拥有的数据。您可以在 Firestore 中创建用户 uid,以便访问数据。

开始

在使用 Firestore 之前,您需要设置 Firebase 项目并将其与应用程序集成起来。在添加 Firestore 之前,请确保您已将 Firebase 添加到项目中。您可以在 Firebase 控制面板中启用 Firestore 服务。

创建用户账户

要在 Firestore 中创建用户 uid,您需要创建用户账户。有两种方法可以创建用户账户:

使用 Firebase 身份验证服务

Firebase 身份验证服务可以让您轻松地为应用程序用户创建和登录账户。您可以使用 Firebase 身份验证服务来创建用户账户和登录凭证,如令牌和作为身份验证凭证的用户 uid。

请按照下面的步骤创建您的用户账户:

  • 在 Firebase 控制面板中转到 Authentication 标签页。
  • 转到“用户”选项卡,然后单击“添加用户”按钮。
  • 输入您要添加的用户的电子邮件地址和密码。您还可以选择为用户启用或禁用电子邮件验证。
  • 单击“添加用户”按钮以创建用户。

此时,您的新用户已添加到 Firebase 项目中。每个用户都有一个唯一的 uid,以后您将使用它来访问数据。

通过自定义服务器端代码创建

您还可以通过自定义服务器端代码创建用户账户。如果您不想使用 Firebase 身份验证服务,或者您的应用程序需要对用户账户做出特殊处理,这将是一个不错的选择。

下面是创建用户账户的步骤:

  • 在您的服务器端代码中,使用 Firebase Admin SDK 创建一个 auth 用户实例。
    const admin = require('firebase-admin');
    // 省略初始化代码...
    const auth = admin.auth();
    
  • 使用 auth 的 create() 方法创建用户账户。方法会返回一个包含 uid 的 promise。
    auth.createUser({
      email: 'user@example.com',
      password: 'secret-password'
    })
    .then(function(userRecord) {
      console.log('Successfully created new user:', userRecord.uid);
    })
    .catch(function(error) {
      console.log('Error creating new user:', error);
    });
    

在上面的代码中,我们使用了带有电子邮件地址和密码的 createUser() 方法来创建用户。一旦用户创建成功,我们将能够在控制台中看到其 uid。

在 Firestore 中使用 uid

要在 Firestore 中使用 uid,您需要为每个用户创建一个文档或子集。这是为每个用户分配存储数据的一个很好的方式。下面是为用户创建一个子集的步骤:

  • 创建一个与用户 uid 相匹配的文档作为子集的根。您可以使用如下代码来创建文档:
    const userUid = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    const userDocRef = db.collection('users').doc(userUid);
    
  • 使用 docRef 上的 set() 或 update() 方法将数据存储到指定文档中。
    userDocRef.set({
        name: 'Alice',
        age: 25,
        email: 'alice@example.com'
    });
    

在上面的代码中,我们首先定义了 userUid,这是我们之前创建的用户 uid。然后,我们使用 collection() 和 doc() 方法来引用该文档的 Firestore 引用。最后,我们使用 set() 方法将用户数据存储到文档中。

结论

在 Firestore 中创建用户 uid 是一个简单的过程,您只需遵循几个使用 Firebase 身份验证服务或自定义服务器端代码的步骤就可以了。此外,还可以使用 uid 来在 Firestore 中存储用户数据。