首页 文章

在服务器/管理员上创建帐户后发送Firebase重置密码电子邮件

提问于
浏览
2

我正在创建一个网站,企业可以免费向其客户/用户提供我的服务 . 对于企业添加用户(在其企业帐户下),企业登录并输入其客户/用户电子邮件之一 . 然后,我将客户端/用户电子邮件发送到firebase功能并以编程方式创建帐户 .

我想向这位新用户发送一封电子邮件,上面写着“创建帐户:重置密码”等等,我可以在浏览器上使用sendPasswordResetEmail执行此操作,但此功能在Firebase functions / admin上不可用 .

最好的选择我可以想到它为每个新用户随机生成一个密码(即 - 'ef53gs'),并在欢迎电子邮件中分享新密码,但我认为如果欢迎电子邮件包括一个,那将是一个更好的体验链接到(重新)设置密码 .

任何想法如何使像sendPasswordResetEmail这样的东西适用于firebase函数?

4 回答

  • 5

    我们遇到了同样的问题,因为 firebase-admin 没有像 firebase SDK那样 sendPasswordResetEmail() . 我们最终只是在服务器上使用 firebase 客户端SDK以及 firebase-admin . 工作良好 .

  • 0

    这将是一个多租户或多级管理员类型的应用程序解决方案 . 只需创建一个Web界面,每个企业都可以将用户添加到其服务中 . 您需要使用Admin SDK(服务器)为每个企业管理员生成权限 . 看到:

    使用自定义声明和安全规则控制访问Firebase Admin SDK支持在用户帐户上定义自定义属性 . 这提供了在Firebase应用程序中实施各种访问控制策略(包括基于角色的访问控制)的功能 . 这些自定义属性可以为用户提供不同级别的访问权限(角色),这些访问权限在应用程序的安全规则中强制执行 .

  • 0

    我认为一种更好的方法是实际使用REST API从管理员重置用户密码,而无需向管理站点添加客户端库 .

    curl 'https://www.googleapis.com/identitytoolkit/v3/relyingparty/getOobConfirmationCode?key=[API_KEY]' \
    -H 'Content-Type: application/json' \
    --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
    

    [API KEY]可以从项目设置中检索>添加应用>>点击网页,您将获得带有JSON的配置,在JSON中有一个APIKey,您需要使用它 .

  • 0

    admin sdk有一个 generatePasswordResetLink ,它会为你创建链接,但是它像mailgun或mandrill一样's on you then to handle sending the email which you can do using any service you' . 这也使您可以更好地控制电子邮件模板 .

相关问题