javascript - 由其他人创建的 Firebase 用户
问题描述
在我的应用程序中,应该可以由其他用户添加新用户。
我遇到的问题是我不能只创建一个帐户 - Firebase 身份验证 - 为这个新用户使用随机密码,因为它会自动使用这个新帐户登录,使用
createUserWithEmailAndPassword
.如果我只是在用户集合中创建一个新文档(名称、生日、...链接到帐户的 ID),然后该用户创建一个帐户(Firebase 身份验证),我将需要检查该用户集合所在的每个集合的文档使用 docid 并将其替换为来自
createUserWithEmailAndPassword
. 也不是防弹解决方案...
关于如何做到这一点的任何建议?
解决方案
我建议您使用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
})
});
您的代码会更复杂,但这是一个起点。
推荐阅读
- upload - 新的谷歌网站 - 如何上传 pdf
- c# - 在多行字符串中使用枚举名称将每个字符串行与枚举的整数值相关联。有没有更好的办法?
- python - Django restframework Error binding parameter
- macos - macOS - [NSValue valueWithCGAffineTransform:]
- angular - 角度测试随机失败
- python - 为什么在 elif 语句中使用输入时会出现语法错误?
- c# - DI/CI Dependency/Constructor injection,怎么知道有哪些对象可用?
- java - 如何保持实例变量的名称与构造函数参数的名称相同?
- qt - 从 ipc fifo 文件描述符读取缓冲区时未初始化 QDataStream
- mvel - 如何使用 j-easy 简单规则编写条件以查找集合中的任何匹配值