【发布时间】:2018-12-01 10:22:26
【问题描述】:
我正在创建一个网站,企业可以在其中免费向他们的客户/用户提供我的服务。对于企业添加用户(在其企业帐户下),企业登录并输入其客户/用户的电子邮件之一。然后我将客户/用户电子邮件发送到 firebase 函数并以编程方式创建一个帐户。
我想向这个新用户发送一封电子邮件,内容是“已创建帐户:重置密码”等,我可以在浏览器上使用 sendPasswordResetEmail 来执行此操作,但此功能在 Firebase 功能/管理员中不可用。
我能想到的最佳选择是为每个新用户随机生成一个密码(即'ef53gs'),并在欢迎电子邮件中分享新密码,但我认为如果欢迎使用会更好电子邮件包含(重新)设置密码的链接。
知道如何让 sendPasswordResetEmail 之类的东西适用于 firebase 功能吗?
【问题讨论】:
-
这不是由 Cloud Functions for Firebase SDK 造成的,而是因为 Firebase Admin SDK 没有发送密码重置电子邮件的方法。目前这在 SDK 中确实是不可能的,您必须编写自己的身份验证提供程序,或者至少编写密码重置流程。
-
是的。我能做的是让人们在第一次登录时重置密码,但他们必须使用我在原始登录时创建的随机密码。从管理员 sdk 中,无论如何我可以创建一个链接,他们单击以重置他们的密码(我可以使用 Sendgrid 等单独发送电子邮件),或者从 admin sdk 生成一个链接,无需密码即可登录?
-
遗憾的是,目前无法从 Admin SDK 生成这样的链接。您可能想file a feature request 参与讨论。
-
Link firebase.google.com/docs/auth/admin/email-action-links 可能有助于使用云功能生成重置密码 url。 (部分:生成密码重置电子邮件链接,“firebase-admin”版本:6.4.0)
标签: firebase firebase-authentication google-cloud-functions firebase-admin