Firebase 通过电子邮件和密码登录

问题描述 投票:0回答:1

发生一些错误类型“List”不是类型“PigeonUserDetails”的子类型?在类型转换中

升级与 Firebase 登录或 Firebase Cloud 相关的所有依赖项。

在出现此错误之前,项目中一切正常。

这是我通过电子邮件和密码登录 Firebase 的方法。

  Future<User?> signInWithEmailAndPasswrod(String email, String password) async{

    try{
      UserCredential credential = await _auth.signInWithEmailAndPassword(email: email, password: password);
      return credential.user;
    }
    catch(err){
      debugPrint("Some Error Occured $err");
    }
    return null;
  }
flutter firebase-authentication
1个回答
0
投票

我认为 typeCast 问题在于你使用这个函数的地方。

userLogin = signInWithEmailAndPasswrod("yourEmailAddress", "yourPassword")

我建议使用如下凭据,而不是返回该凭据。

 void login() async {
    try {
      final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
        email: loginEmailController.text.trim(),
        password: loginPasswordController.text.trim(),
      );
      if (credential.user != null) {
       
     // Set value here and Navigate to Home Screen.

      }
    } on FirebaseAuthException catch (e) {
      if (e.code == 'user-not-found') {
        showSnackBar('No user found for that email.');
      } else if (e.code == 'wrong-password') {
        showSnackBar('Wrong password provided for that user.');
      } else if (e.code == 'invalid-credential') {
        showSnackBar('Invalid credential.');
      }
    }
  }
© www.soinside.com 2019 - 2024. All rights reserved.