firebase - 奇怪的 Firebase 电子邮件验证
问题描述
我正在创建一个信使应用程序。为了注册新用户,我想要从用户那里获取电子邮件和密码,在创建帐户之前,我想验证用户提供的电子邮件。
但是firebase电子邮件验证的问题是您必须先创建帐户/用户,然后才能将电子邮件验证链接发送给用户。
现在这可能会导致重大问题:假设某个假用户使用了我的电子邮件并创建了帐户但未能验证电子邮件。但他仍然设法用我的电子邮件创建了一个帐户。因此,如果稍后我将尝试将自己注册到应用程序中,那么我的 firebase 将向我显示已使用的电子邮件。
为了解决这个问题,如果用户在尝试注册自己后未能验证他的电子邮件,我想删除创建的帐户。为此,我创建了一个电子邮件验证屏幕,一旦新用户通过他的电子邮件和密码注册,就会推送该屏幕。现在,这里的应用程序将等待用户通过单击 firebase 发送的链接来验证他/她的电子邮件。我还提供了一个取消验证按钮。因此,如果用户取消验证,我只是删除了已经创建的帐户。如果用户在未验证电子邮件的情况下按下返回键,我也在处理这也会删除用户帐户。
主要问题:现在我需要处理的最后一件事是用户是否强制退出应用程序。为了处理这个问题,我尝试在dispose方法中删除帐户,并使用了 WidgetsBindingObserver。但他们两个都不适合我。
请帮我解决这个问题!
解决方案
我不建议在退出/关闭等应用程序时删除帐户,因为这是合法用户在确认他们的电子邮件之前可能会做的事情(特别是如果电子邮件因任何原因延迟发送)。这会引起很多挫败感。
您可以设置一个Cloud Http 任务以在帐户未注册的特定时间(例如几个小时)后触发删除该帐户。
如果他们确实及时注册,您可以在任务运行之前取消它。
推荐阅读
- ios - 如果所有文本字段都完整,则在 swift 4 中正确显示消息?
- android - 如何使用 webview 从资产中保存文件
- google-analytics - 用于优化 ID 的 GTAG
- google-cloud-platform - 谷歌云错误。404 在此服务器上未找到请求的 URL,但它存在
- c - 我们可以在 printf 中传递指针吗?
- c# - 在 Windows 中确定进程终止的操作
- c - 找出一个数字是否完美的程序
- linux - 无法连接到服务器:Linux 的 windows 子系统中 ubuntu 上的 postgresql
- c# - 从 html 文件中读取字节数据会在不同的机器上生成不同的字节数组
- tensorflow - 将 TensorFlow 模型部署到 GCP 时如何允许软设备放置?