如何触发 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 云功能:如何更新源节点?