Firebase: Flutter signInWithFacebook isn't defined for the class FirebaseAuth

439

The method FirebaseAuth.signInWithFacebook was removed in version 0.7.0. The updated approach is to use FirebaseAuth.signInWithCredential.

FirebaseAuth _auth = FirebaseAuth.instance;
bool isLogged = false;
FirebaseUser myUser;

Future<FirebaseUser> _loginWithFacebook() async {
  var facebookLogin = new FacebookLogin();
  var result = await facebookLogin.logInWithReadPermissions(['email']);
  debugPrint(result.status.toString());
  if (result.status == FacebookLoginStatus.loggedIn) {
    FacebookAccessToken myToken = result.accessToken;
    AuthCredential credential = FacebookAuthProvider.getCredential(accessToken: myToken.token);
    FirebaseUser user = await _auth.signInWithCredential(credential);
    return user;
  }
  return null;
}
Share:
439
Sarah
Author by

Sarah

Updated on December 14, 2022

Comments

  • Sarah
    Sarah over 1 year

    pubspec.yaml

    firebase_auth: ^0.14.0+5
    flutter_auth_buttons: ^0.5.0
    flutter_facebook_login: ^2.0.0
    

    MainPage.dart

    FirebaseAuth _auth = FirebaseAuth.instance;
    bool isLogged = false;
    FirebaseUser myUser;
    
    Future<FirebaseUser> _loginWithFacebook() async {
      var facebookLogin = new FacebookLogin();
      var result = await facebookLogin.logInWithReadPermissions(['email']);
      debugPrint(result.status.toString());
      if (result.status == FacebookLoginStatus.loggedIn) {
        FirebaseUser user =
        await _auth.signInWithFacebook(accessToken: result.accessToken.token);
        return user;
      }
      return null;
    }
    

    Error

    signInWithFacebook isn't defined for the class FirebaseAuth