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

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

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

解决方法

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

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

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

,

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

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

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?