如何触发 Firebase 云功能以添加用户、生成密码并使用该密码发送邮件

Posted

技术标签:

【中文标题】如何触发 Firebase 云功能以添加用户、生成密码并使用该密码发送邮件【英文标题】:How to trigger a Firebase cloud function to add a user, generate a password and send a mail with that password 【发布时间】:2021-04-25 07:25:45 【问题描述】:

是否可以使用 Firebase Auth 和 Firebase Cloud 功能制作此场景?

用户打开我的应用并选择创建帐户 在应用程序中提交他们的电子邮件地址 用户已添加到 Firebase 身份验证(云功能?) 登录码或密码已创建(云功能?) 登录码或密码邮寄到用户邮箱(云功能?)

用户在应用中提交 LoginCode 字密码,并通过 Firebase Auth 进行身份验证。

这可能吗?

这个想法是用户必须使用有效的邮件地址,否则他们无法使用该应用程序。 或者有更简单的方法吗?

【问题讨论】:

我可以在云功能方面提供帮助。如果你愿意,我可以展示一个最小的 NodeJs 示例。 【参考方案1】:

您的问题非常广泛......但是是的,所有这些都是可能的。使用 Admin SDK(在云函数中使用),您可以在独特的云函数中:

    使用所需密码创建用户帐户(包括您在 Cloud Function 中随机生成的密码,如果需要):使用 createUser()。 用户创建完成后发送密码:查看此sample 或使用dedicated Extension(通过从 Cloud Function 创建 Firestore 文档)

此 Cloud Function 可以从 Flutter 应用程序触发(包括将电子邮件传递给 Cloud Function):请参阅 Callable Cloud Functions,here 和 here。


请注意,如果您的目标是验证电子邮件地址,可以考虑使用其他方法,例如 authenticating through an Email Link 或 generating an email verification link。


结论:您可以根据自己的情况选择最佳方法。

【讨论】:

以上是关于如何触发 Firebase 云功能以添加用户、生成密码并使用该密码发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Firebase 云存储添加图像存储功能?

以编程方式发送 Firebase 云消息?

具有实时数据库触发器的 Firebase 云功能:如何更新源节点?

您如何避免使用 firebase 云功能可能出现的竞争情况?

Flutter Firebase云函数打字稿

Firebase firestore云功能显示错误:无效使用“undefined”类型作为Firestore参数