如何将我的数据从 Firestore 转换为身份验证用户
Posted
技术标签:
【中文标题】如何将我的数据从 Firestore 转换为身份验证用户【英文标题】:How do I convert my data from firestore into authentication users 【发布时间】:2021-11-21 21:19:51 【问题描述】:我使用 Zapier 从 Google 表单中获取答案并将它们移动到 Firestore 集合中,但我需要获取这些数据(包括姓名、密码和电子邮件)并将其转换为 Firebase 身份验证模块上的用户,是有没有办法自动做到这一点?
我需要仅使用 Google 表单完成注册,但我只知道如何以相反的方式进行(在 Firestore 中进行身份验证)。
【问题讨论】:
【参考方案1】:您可以使用 triggered when a new document is created in the Firestore collection 的云函数。
假设由 Zapier 填充的集合名为 usersCreationRequests
。以下 Cloud Function 可以解决问题:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.createUser = functions.firestore
.document('usersCreationRequests/userDocId')
.onCreate((snap, context) =>
return admin
.auth()
.createUser(
email: snap.get('email'),
password: snap.get('password'),
displayName: snap.get('name')
)
.then((userRecord) =>
console.log('Successfully created new user:', userRecord.uid);
return null;
)
.catch((error) =>
console.log('Error creating new user:', error);
return null;
);
);
【讨论】:
使用userDocId
作为 Firebase Auth UID 也可能是个好主意:D
@Dharmaraj 是的,这可能很有趣,但我们在这一点上没有来自 OP 的任何细节。
bruh 我刚刚发现我需要付费才能使用云功能??但我只是一个可怜的开发者 T_T 人这个世界不远
您不必必须付款,您需要一张信用卡,但有一个非常慷慨的免费套餐,如果您不超过限额,您将不会付款任何东西。
非常感谢,我会这样做并与我妈妈讨论签署云功能的问题,因为我只有 17 岁并且没有真正可以自己使用的信用卡,我正在做的这个项目是为了她。但是你帮了我很多,我很感激?
以上是关于如何将我的数据从 Firestore 转换为身份验证用户的主要内容,如果未能解决你的问题,请参考以下文章
如何将我的 Firebase 实时数据库转移到 Firebase Cloud Firestore
如何将我的 Firebase 实时数据库转移到 Firebase Cloud Firestore
如何将数据从 Firestore 映射到列表并转换为对象数据类型