firebase - 如何处理登录异常?

标签 firebase flutter dart firebase-authentication

您好,我是新手,我正在制作一个社交媒体应用程序,其中的用户将使用电子邮件和密码登录。我想知道如何显示用户登录错误,例如密码不正确/电子邮件不正确等。我正在使用Firebase作为应用程序的后端数据库

我已经成功创建了应用程序的登录和注册部分,但无法显示其他错误。这是我的代码有人请帮助我

Future LogIn(BuildContext context) async {
  FirebaseUser user = (await _Auth.signInWithEmailAndPassword(
          email: getEmail(), password: getPass()))
      .user;
  try {
    if (user.isEmailVerified) {
      Navigator.pushNamed(context, HomeScreen.id);
      //Navigator.pushNamed(context, HomeScreen.id);
      ClearAllInfo();
    } else {
      user.sendEmailVerification();
      Alert("EMAIL NOT VERIFIED").show(); //email not verified alert
    }
  } catch (e) {}
}

最佳答案

documentation for signInWithEmailAndPassword 列出了所有可能的错误:

  • ERROR_INVALID_EMAIL
  • ERROR_WRONG_PASSWORD
  • ERROR_USER_NOT_FOUND
  • ERROR_USER_DISABLED
  • ERROR_TOO_MANY_REQUESTS
  • ERROR_OPERATION_NOT_ALLOWED

  • 现在,您可以在try-catch中进行测试:

    try {
      FirebaseAuth.instance.signInWithEmailAndPassword(...); // Your signin call.
    } on PlatformException catch (e) {
      switch (e.code) {
        case 'ERROR_WRONG_PASSWORD':
          // Handle wrong password.
          break;
        // Add other cases.
        default:
          break;
      }
    }
    

    请注意,我添加的catch块仅捕获PlatformException。如果希望看到其他异常,则可能需要添加另一个常规catch块或on特定的异常。

    关于firebase - 如何处理登录异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58343030/

    相关文章:

    java - 发布的图片未出现在 Firebase Recycler View 中

    ios - 如何从 Firebase 身份验证登录的 NSError 中获取错误消息

    python - 解析为 Firebase 增强型推送通知

    flutter - 如何根据在 flutter 中单击哪个导航栏按钮来更改脚手架主体?

    dart - Dart:在 “if”语句中检查子类型后尝试访问字段时出现编译器错误

    javascript - 如何在 Javascript 中连接数组对象和字符串以获取字符串?

    flutter - 试图在Flutter中在YoutubePlayerBuilder中使用ListView

    json - 如何在 flutter 中对 json 进行字符串化

    flutter - 为什么在使用twitter_api软件包时仍然出现错误(404)?

    flutter - 如何对包含括号的字符串使用拆分方法?