【问题标题】:Flutter Error Firebase User ReauthenticateWithCredentialFlutter 错误 Firebase 用户 ReauthenticateWithCredential
【发布时间】:2020-01-11 02:08:57
【问题描述】:

我正在开发一个应用程序,我需要重新验证用户,但我遇到了错误

I/flutter (14968): Error: NoSuchMethodError: The method '[]' was called on null
I/flutter (14968): Receiver: null
I/flutter (14968): Tried calling: []("user")    

下面是我用来重新验证用户的代码

FirebaseUser user = await FirebaseAuth.instance.currentUser();
  print("User Email: ${user.email}");
  AuthCredential authCredential = EmailAuthProvider.getCredential(
    email: user.email,
    password: _oldPassController.text,
  );
  print("Auth Credential: ${authCredential.toString()}");
  user.reauthenticateWithCredential(authCredential).then((result) {
    print("Success: $result");
  }).catchError((error) {
    print("Error: $error");
    setState(() {
      _isLoading = false;
    });
    if (error is PlatformException) {
      PlatformException exception = error;
      showAlertDialog(context, exception.message);
    } else {
      showAlertDialog(context, error.toString());
    }
  });

【问题讨论】:

标签: firebase flutter firebase-authentication


【解决方案1】:

我没有解决实际问题的方法(我认为这实际上是 Firebase 到 Flutter 项目的连接问题),但我有一个适合我的解决方法。 我只是使用 signInWithEmailAndPassword() 代替 reauthenticateWithCredential(),它似乎工作正常。像这样:

    AuthResult authResult = await FirebaseAuth.instance
          .signInWithEmailAndPassword(email: email, password: password);
    FirebaseUser firebaseUser = authResult.user;

调用 signInWithEmailAndPassword() 后,用户会被重新验证,因为他们最近已登录。 希望它有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-04
    • 2021-03-15
    • 2021-01-14
    • 2022-01-15
    • 2020-01-06
    • 2021-01-28
    • 2020-09-09
    • 2021-12-30
    相关资源
    最近更新 更多