FirebaseAuth.signInWithEmailAndPassword返回空用户

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

我正在颤振平台上开发,并使用FirebaseAuth库进行dart

调用时,AuthResult中返回的用户为null

问题是没有抛出错误。所以我真的很困惑。根据文档,有一个可以抛出的错误代码列表。但在这种情况下,它只是默默地失败。有人知道为什么它会在没有反馈任何错误的情况下默默地失败吗

我的代码如下所示

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