首页 > 解决方案 > 由其他人创建的 Firebase 用户

问题描述

在我的应用程序中,应该可以由其他用户添加新用户。

  1. 我遇到的问题是我不能只创建一个帐户 - Firebase 身份验证 - 为这个新用户使用随机密码,因为它会自动使用这个新帐户登录,使用createUserWithEmailAndPassword.

  2. 如果我只是在用户集合中创建一个新文档(名称、生日、...链接到帐户的 ID),然后该用户创建一个帐户(Firebase 身份验证),我将需要检查该用户集合所在的每个集合的文档使用 docid 并将其替换为来自createUserWithEmailAndPassword. 也不是防弹解决方案...

关于如何做到这一点的任何建议?

标签: javascriptfirebasefirebase-authentication

解决方案


我建议您使用Firebase Admin Auth SDK创建一个新用户 server-side。这意味着如果您还没有服务器端解决方案,您将不得不实施一些服务器端解决方案。HTTP 触发的云函数将是一个不错的选择。如果您是 Cloud Functions 的新手,GitHub 上的示例是一个不错的起点。您的函数的一个非常基本的版本可能如下所示:

exports.createUser = functions.https.onRequest(async (req, res) => {
  const email = decodeURI(req.query.email);

  await admin.auth().createUser({
    email: email,
    password: "password", // however you're planning on creating the password goes here
  })
});

您的代码会更复杂,但这是一个起点。


推荐阅读