当前位置: 首页 > 知识库问答 >
问题:

可能吗?在 firebase 身份验证中创建记录之前发送电子邮件验证?[重复]

马和硕
2023-03-14

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

共有2个答案

司徒良哲
2023-03-14

除了@Frank的答案之外,当用户注册时,您还可以向他们发送验证电子邮件。你始终可以通过检查 isEmailVerified 属性以及安全规则来检查用户是否已在你的应用中验证其电子邮件。

谈到数据库存储,您可以每午夜运行一次预定的云功能,删除未验证其电子邮件的用户的数据。有关定期删除未验证用户的详细说明,请参阅此答案。

东门新立
2023-03-14

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

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

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

 类似资料:
  • 如何使用firebase中的验证电子邮件验证使用电子邮件和密码登录的用户?这背后的逻辑是如何工作的,它在代码中会是什么样子? 解决方案/帮助:对于那些仍在寻找答案的人,我找到了这篇文章 堆栈溢出 帖子

  • 是否可以在创建 Firebase 用户之前发送验证电子邮件并验证电子邮件?在我的代码中,我只能在从 Firebase 调用使用电子邮件和密码创建用户方法后发送电子邮件验证。即使我没有验证电子邮件,我仍然可以在 Firebase 控制台中看到该电子邮件的条目。

  • 我也不会得到一个错误,如果我登录我的电子邮件和密码没有验证电子邮件。 非常感谢你事先的帮助。

  • 情况 我想为我的web应用程序使用Azure B2C身份验证服务。但是,我希望应用程序管理员限制对某些电子邮件或域的访问,例如白名单,如下所示: tom1@abc.com tom2@def.com *@alphabet.com 因此,只有前两封电子邮件和任何以“alphabet.com”结尾的电子邮件才能访问该网站。 问题 我已经实现了所有功能,并且工作正常,但是我正在努力获取经过身份验证的用户的

  • 电子邮件验证+电子邮件/密码验证的使用不适用于在用户开始使用服务之前绝对需要电子邮件验证的服务。 让我用Google sign in First的一个例子来解释。 首先,用户登录他们的Google帐户(比如电子邮件是),并授权您的应用程序。然后使用通过它接收到的令牌创建一个凭据,并与Firebase交换这些令牌以将用户登录到Firebase。用户需要存在于Firebase中,您才能使用Fireba

  • 我有一个使用Firebase电子邮件身份验证的Flutter移动应用程序。用户通过输入用户名、密码、当前国家和名字和姓氏来注册自己。当他们注册时,我会在用户集合下创建一个用户文档,其中将电子邮件作为ID、名字、国家/地区、通知令牌。但是,一旦他们验证了他们的电子邮件地址,那么只有他们才能使用应用程序的所有功能。 我的问题是,一些用户输入了不存在的垃圾邮件地址。因此,我最终在身份验证和Firesto