Firebase 自定义无密码登录电子邮件模板

问题描述

我正在尝试在 Firebase 应用中实现无密码登录using their new email link login feature.

我现在遇到的问题是,我想将发送给我的用户的电子邮件模板更改为不只是认的“我们收到了使用此电子邮件登录 {{app}} 的请求地址”,但我什至在任何地方都找不到模板。

它似乎没有出现在 Firebase 控制台“身份验证”部分的“模板”选项卡中的其他电子邮件模板中。

有什么方法可以更改此模板,还是我只是坚持使用此电子邮件认措辞?

解决方法

这就是我们最终的结果:

Google / Firebase 不允许通过其电子邮件服务器提供此类功能。据我所知,原因是他们不希望 Firebase 邮件服务器被滥用来发送垃圾邮件。

我们通过自己发送电子邮件验证和密码重置电子邮件来解决这个问题。

Firebase 在其 Admin SDK 中有一个用于生成这些链接的 API(请参阅 Generating Email Action Liniks)。

我们的设置现在具有三个云功能:

  • 每当创建用户 (see this cloud function trigger) 并通过电子邮件向用户发送他们的验证电子邮件时自动触发
  • 一个是通过 HTTPS POST 请求触发的,并向用户发送一封电子邮件以重置他们的密码。
  • 当用户想要“无密码”登录时,最后一个也会通过 HTTPS POST 触发。此云功能与密码重置功能相同,只是通过电子邮件将登录链接发送给用户。

在我们的例子中,电子邮件只是使用 Mailgun 通过 handy JS library 发送,但任何其他发送电子邮件的方法当然也可以使用。