由其他人创建的Firebase用户

时间:2018-12-03 18:22:20

标签: javascript firebase firebase-authentication

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

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

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

有关如何执行此操作的任何建议?

1 个答案:

答案 0 :(得分:2)

我建议您使用Firebase Admin Auth SDKcreate a new user server-side。这意味着如果您还没有一个服务器端解决方案,则必须实施。 HTTP触发的Cloud Function是一个不错的选择。如果您不熟悉Cloud Functions,那么samples on 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
  })
});

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