是否有可能?在 Firebase 身份验证中创建记录之前发送电子邮件验证?

时间:2021-07-12 06:14:44

标签: firebase flutter firebase-authentication

有可能吗?我可以在使用 Flutter 在 Firebase 身份验证中使用电子邮件和密码创建用户之前发送电子邮件验证吗? 我想知道这一点,因为如果我注册输入的邮件,然后如果我发送电子邮件验证,那么如果电子邮件帐户无效(即电子邮件格式正确,但它不存在于谷歌数据库中以发送电子邮件链接) ,那么它只会在 Firebase 身份验证中创建一个记录,这是存储丢失,所以我想知道。 谢谢

2 个答案:

答案 0 :(得分:1)

有两个提供商可以通过电子邮件登录 Firebase:

  1. 通过Email+password。无法要求用户在使用此提供商登录之前验证其电子邮件地址。您当然可以阻止没有经过验证的电子邮件地址的用户使用该应用和访问数据。
  2. 通过Email link。在这里,用户会收到一封带有登录链接的电子邮件,因此他们的电子邮件地址作为登录的一部分进行了隐式验证。

如果您想要求用户在登录前验证他们的电子邮件地址,最好让他们通过电子邮件链接登录。

答案 1 :(得分:0)

除了@Frank 的回答之外,当用户注册时,您可以向他们发送验证电子邮件。您可以随时通过检查 complex() arg is a malformed string 属性以及安全规则来检查用户是否在您的应用中验证了他们的电子邮件。

说到数据库存储,您可以每半夜运行一次 scheduled cloud function 来删除未验证电子邮件的用户的数据。 您可以参考this answer了解定期删除未验证用户的详细说明。