signInWithFacebook method

Future<FacebookLogin> signInWithFacebook()

Signs in a user using their Facebook account.

This method requests public profile and email permissions, and handles the authentication flow for Facebook login. It prints the status, access token, user profile details, profile image URL, and email address if available.

Implementation

Future<FacebookLogin> signInWithFacebook() async {
  final fb = FacebookLogin();
  final res = await fb.logIn(permissions: [
    FacebookPermission.publicProfile,
    FacebookPermission.email,
  ]);
  switch (res.status) {
    case FacebookLoginStatus.success:
      print("Facebook Log-In Successfull");
      final accessToken = res.accessToken;
      print('Access Token: ${accessToken?.token}');
      final profile = await fb.getUserProfile();
      print('Hello, ${profile?.name}! You ID: ${profile?.userId}');
      final imageUrl = await fb.getProfileImageUrl(width: 100);
      print('Your profile image: $imageUrl');
      final email = await fb.getUserEmail();
      if (email != null) {
        print('And your email is $email');
      }
      break;
    case FacebookLoginStatus.cancel:
      break;
    case FacebookLoginStatus.error:
      print('Error while log in: ${res.error}');
      break;
  }
  return fb;
}