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

Firebase:在验证电子邮件之前不要创建用户[重复]

魏煜祺
2023-03-14

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

我的问题是,一些用户输入了不存在的垃圾邮件地址。因此,我最终在身份验证和Firestore用户收藏中都出现了错误的电子邮件地址。此外,由于这些是垃圾邮件地址,他们将永远无法验证和登录。

现在,我有一个Firebase调度程序功能,可以从身份验证和用户收集中删除这些未经验证的用户(超过30天)。

除非用户验证了他们的电子邮件地址,否则我不想在Firebase身份验证和用户集合中创建任何条目。或者有其他方法可以实现这一点吗?

谢谢

共有1个答案

呼延俊风
2023-03-14

一种解决方案是使用电子邮件链接身份验证:当用户完成该过程时,将创建该帐户。

Paul Ruiz(Firebaser)撰写了一篇完整的文章,详细介绍了如何实现此选项:请参阅“电子邮件链接(无密码登录)”部分。

仅供参考,iOS和Android SDKs的等效文档可以在这里和这里找到。

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

  • 问题内容: 我检查了用户是否通过电子邮件验证。但是,无论我发送并确认了多少电子邮件,验证状态仍为。检查时我做错什么了吗? 问题答案: 我如何实现此功能的方法是添加一个 带有时间间隔的,它将检查用户是否已通过验证,然后在完成验证后终止计时器。 检查您当前用户状态的功能:

  • 我检查了用户是否通过电子邮件进行验证。但是,无论我发送并确认了多少封电子邮件,验证状态仍然是。我在检查时是否做错了什么?

  • 我正在创建一个将提供通知的Android应用程序。用户可以使用电话号码或电子邮件帐户选择加入。 我只需要验证用户输入的电子邮件,我不想创建Firebase帐户 Firebase 有一个 但这需要创建一个帐户。 换句话说,我只希望电子邮件验证与电话验证相同,Firebase只会向您发送代码或验证链接。 有没有一种方法可以在不创建帐户的情况下利用Firebase电子邮件验证?

  • 每当我在Firebase中使用电子邮件/密码身份验证提供程序时,提供程序都会在成功注册时发送一个无记名令牌,即使是。是否有一种开箱即用的方法将电子邮件/密码身份验证提供程序配置为在用户验证其电子邮件地址之前不发送无记名令牌(并返回403错误)? 请注意,我知道如何创建用户、登录用户、发送验证电子邮件等。。。使用firebase v9。x通过firebase/auth中的方法创建用户(使用Email

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