在 Firebase 中使用自定义电子邮件模板更新电子邮件

Update email with a custom email template in Firebase

我有一个 Flutter 移动应用程序,我正在使用 Firebase 身份验证。我决定使用电子邮件模板来验证用户电子邮件。在后端,我调用 generateEmailVerificationLink(email ,actionCode) 创建电子邮件验证 link,然后我将 link 传递给一个漂亮的电子邮件模板并将其发送给用户。

我想对更新用户电子邮件做同样的事情。但是我不确定在后端调用哪个函数来创建我需要传递给电子邮件寺庙的正确 link 。操作代码中的模式应为“verifyAndChangeEmail”

有人知道吗?
我找到了这个 link https://firebase.google.com/docs/auth/admin/email-action-links 但它没有说明如何生成 link 来更新用户电子邮件。这是否意味着我不能拥有用于更新用户电子邮件的自定义电子邮件? 请帮忙。

同样可以使用generateEmailVerificationLink()方法,在link打开的页面中,需要触发,在back-end中,updateUser() method of the Admin SDK .

更具体地说:

  1. 在 Cloud Functions(或您拥有的服务器)中,为新电子邮件生成电子邮件验证 link(如 doc you mention in your question) and build and send an email containing this link (for example by calling a microservice like Sendgrid 中所述)。
  2. 用户在他的邮箱中收到邮件。当他点击 link 时,用户将被重定向到您在某处托管的网页(例如使用 Firebase 托管):然后使用 applyActionCode() 验证电子邮件,如代码所示this page 在 Firebase 文档中(参见“4. 通过调用 applyActionCode 处理电子邮件地址验证。”)。
  3. 然后,在此页面的 .then((resp) => {...}) 块中,实现对 callable Cloud Function 的调用,您在其中使用 updateUser() 方法更新用户的电子邮件。在可调用云函数中,您必须检查传递给 updateUser() 方法的 uid(用户 ID)是否是调用者的 uid(使用 const uid = context.auth.uid; 请参阅文档).