FirebaseAuth.signInWithEmailAndPassword返回空用户
我正在颤振平台上开发,并使用FirebaseAuth库进行dart 调用时,AuthResult中返回的用户为null 问题是没有抛出错误。所以我真的很困惑。根据文档,有一个可以抛出的错误代码列表。但在这种情况下,它只是默默地失败。有人知道为什么它会在没有反馈任何错误的情况下默默地失败吗 我的代码如下所示FirebaseAuth.signInWithEmailAndPassword返回空用户,firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,我正在颤振平台上开发,并使用FirebaseAuth库进行dart 调用时,AuthResult中返回的用户为null 问题是没有抛出错误。所以我真的很困惑。根据文档,有一个可以抛出的错误代码列表。但在这种情况下,它只是默默地失败。有人知道为什么它会在没有反馈任何错误的情况下默默地失败吗 我的代码如下所示 try { final AuthResult result = await FirebaseAuth.instance.signInWithEmailAndPassword( em
try {
final AuthResult result = await FirebaseAuth.instance.signInWithEmailAndPassword(
email:email,
password:password
);
final FirebaseUser user = result.user;
if (user != null) {
callback(RequestUserSignInResult.Fail);
return;
}
_user = user;
callback(RequestUserSignInResult.Success);
}
catch (e) {
print("CODE:"+e.code+'\n');
print("MESSAGE:"+e.message+'\n');
callback(RequestUserSignInResult.Success);
}
在检查AuthResult响应中是否存在用户时,您似乎颠倒了条件。但您也可以这样简化代码:
try {
FirebaseAuth.instance.signInWithEmailAndPassword(
email:email,
password:password
).then((authResult){
if(authResult.user != null){
_user = authResult.user;
callback(RequestUserSignInResult.Success);
}else{
callback(RequestUserSignInResult.Fail);
}
});
} catch (e) {
print("CODE:"+e.code+'\n');
print("MESSAGE:"+e.message+'\n');
callback(RequestUserSignInResult.Fail);
}
您确定没有反转
if
条件吗?当用户为null
时,您现在返回Success
,当用户不为null时,返回Fail
。