自定义 Firebase 电子邮件验证模板和操作处理程序

Raf*_*sas 1 firebase firebase-authentication firebase-extensions

我想自定义电子邮件模板(使用触发电子邮件扩展模板)以向用户发送验证链接。

据我所知,无法从 Firebase 控制台更改模板,因为它可以防止垃圾邮件。

我知道能够自定义操作电子邮件处理程序(单击验证电子邮件中的链接时用户登陆的页面),以及emailVerified手动更新身份验证用户属性的能力。

还有一种方法可以生成 firebase 会使用的验证链接吗?具有以下属性的一种:

  • 模式
  • 出库代码
  • API密钥
  • 继续网址

我理想的解决方案是在使用生成的验证链接注册时向用户发送自定义模板。将用户定向到自定义处理程序页面,并使用文档applyActionCode()中所示的函数来验证电子邮件(我希望这会隐式更新记录上的属性。)emailVerifiedAuth.User

Stf*_*f_F 5

我通过创建用户并使用管理 SDK 在后端生成链接来实现这一目标。

因此,您的前端将调用可调用函数或定制 API 端点来进行注册,而不是直接使用 SDK。

可调用的内容如下:

  • 在Auth中创建用户:auth.createUser()
  • 在数据库中创建用户(Firestore、Mongo 等)
  • 如果需要,分配自定义声明:auth.setCustomUserClaims
  • 构建登录链接:auth.generateSignInWithEmailLink()
  • 将电子邮件发送到电子邮件事务 API

最后一步您将需要一个 ESP,例如 Sendgrid、MailChimp、MailGun 等。在那里您将可以自由地构建自己的模板。

请注意,他们generateSignInWithEmailLink将负责验证电子邮件地址和登录。因此它可以用于登录和注册。

干杯