让用户知道电子邮件何时被验证

时间:2021-06-03 19:31:02

标签: firebase flutter firebase-authentication

当用户想要更新电子邮件时,我会在更新前使用 verifyBeforeUpdateEmail 进行验证。

await FirebaseAuth.instance.currentUser.verifyBeforeUpdateEmail(
    email,
    ActionCodeSettings(
      androidInstallApp: true,
      androidPackageName: 'com.example',
      iOSBundleId: 'com.example',
      handleCodeInApp: true,
      url: 'https://example.page.link/emailVerify',
    ));

我可以让用户知道电子邮件是否已经过验证和更新吗?我试过 dynamic_links 但它没有接收电子邮件验证。

1 个答案:

答案 0 :(得分:1)

verifyBeforeUpdateEmail() 方法向新电子邮件地址发送验证电子邮件。因此,用户需要执行一项操作以验证电子邮件(点击电子邮件中提供的链接)。所以通常用户会知道他/她已经验证了新电子邮件。

如果您想添加一个额外的机制来“让用户知道电子邮件是否已经过验证和更新”,您可以采用以下方法之一:

#1 实现自定义电子邮件操作处理程序

doc 中所述,“默认情况下,用户管理电子邮件链接到默认操作处理程序,该处理程序是托管在您项目的 Firebase 托管域中的网址中的网页。您可以改为创建并托管一个自定义电子邮件操作处理程序进行自定义处理并将电子邮件操作处理程序与您的网站集成”。

通过这种方式,您可以在电子邮件验证的同时实现任何业务逻辑,例如发送确认电子邮件或更新标志等。

#2 使用云函数

遗憾的是,没有响应电子邮件验证的身份验证云功能触发器。我们只能在创建和删除 Firebase 用户帐户时触发 Cloud Function。但是您可以实现一个 scheduled Cloud Function 来检查电子邮件是否已通过验证。