检查Flutter App中的Firebase Auth中是否存在电子邮件

时间:2019-02-21 15:34:13

标签: firebase flutter firebase-authentication email-validation

我正在开发Flutter应用,并希望使用Firebase Auth进行用户登录。我的问题是我想先询问电子邮件,检查格式是否有效,然后根据电子邮件是否已存在于Firebase上,将用户发送到“登录”屏幕或“登录”屏幕。

我读过此question,其中说唯一的解决方案是使用createUserWithEmailAndPassword()方法执行登录并检查错误消息,从长远来看,这种解决方案不是很可靠。

随着抖动的发展非常迅速,你们知道更好的解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为您也可以创建一个云功能来在服务器中进行检查,这是另一种方法。该问题说明了在应用内进行支票的限制。

关于使用错误消息进行检查的问题,该问题已经修复,现在您可以使用错误代码进行检查。 (我更新了答案)

答案 1 :(得分:0)

注册时意味着大多数情况下,您将保存用户数据,例如个人资料名称或其他内容。在注册新用户时,如果是第一次,请将用户的电子邮件保存到Firestore中。然后从下一次运行查询,查询是否在Firestore中存在电子邮件,这表明用户是否已经通过身份验证(第一次或已经创建的帐户)。如果没有在相应的电子邮件中找到文档,则表明用户是新手,您可以登录。如果在相应的电子邮件中找到文档,则登录用户而不是注册。