我正在开发一个颤动的应用程序,要求用户在使用之前进行注册 . 我使用Firebase身份验证,并希望检查是否已在应用中注册了电子邮件 .
我知道这样做的简单方法是在使用 createUserWithEmailAndPassword()
方法时捕获异常(如this question中所述) . 问题是我要求用户注册的路径与用户注册的路径不同,所以等到这个方法被调用对我来说不是一个好选择 .
我认为最好的选择是使用方法 fetchProvidersForEmail()
,但我似乎无法使它工作 .
我该如何使用该方法?或者有没有更好的选择来知道电子邮件是否已经注册?
1 回答
我认为应用程序中唯一的可能性是尝试使用该电子邮件登录(
signInWithEmailAndPassword
)并检查结果 .如果密码无效,则该帐户存在 . 如果帐户无效,则该帐户不存在 .
由于这是一种丑陋的解决方案,您可以使用它来验证此附加调用,以检查电子邮件格式是否正确(根据firebase规则) . 它如果不符合它将抛出
address is badly formatted
并且您可以尽快提醒用户 .注意:在Android上我无法通过代码处理错误,我只能通过检查文本来完成 .