loginWithFacebook method

  1. @override
Future<SocialModel> loginWithFacebook()
override

Implementation

@override
Future<SocialModel> loginWithFacebook() async {
  final LoginResult result = await FacebookAuth.instance
      .login(); // by default we request the email and the public profile

  // if (result.status == LoginStatus.success) {
  //   // facebookSignIn.logOut();
  //   debugPrint('loggout from facebook');
  // }
  // final FacebookLoginResult result = await facebookSignIn.logIn([
  //   'email',
  // ]);

  // facebookSignIn.loginBehavior = FacebookLoginBehavior.nativeWithFallback;
  switch (result.status) {
    case LoginStatus.success:
      final AccessToken? accessToken = result.accessToken;

      // final FacebookAccessToken accessToken = result.accessToken;
      SocialModel model = await iAuthRemoteRepository.loginWithFacebook(
          token: accessToken!.token);
      debugPrint(accessToken.expires.toString());
      return model;
    case LoginStatus.failed:
      return SocialModel(ok: false, message: result.message!);

    default:
      return SocialModel(ok: false, message: result.message!);
  }
}