signInWithFacebook method
Implementation
Future<void> signInWithFacebook({required BuildContext context}) async {
if (kIsWeb) {
FacebookAuthProvider facebookProvider = FacebookAuthProvider();
facebookProvider.addScope('email');
facebookProvider.setCustomParameters({
'display': 'popup',
});
// Once signed in, return the UserCredential
FirebaseAuth.instance.signInWithPopup(facebookProvider).then((value) {
loginWithUserCredential(context: context, userCredential: value);
}).catchError((err) {
showError(err: err, context: context);
//show the error
});
}
// Trigger the sign-in flow
final result = await FacebookAuth.instance.login();
if (result.status == LoginStatus.success) {
// you are logged
final AccessToken accessToken = result.accessToken!;
// Create a credential from the access token
final facebookAuthCredential =
FacebookAuthProvider.credential(accessToken.token);
FirebaseAuth.instance
.signInWithCredential(facebookAuthCredential)
.then((value) {
loginWithUserCredential(context: context, userCredential: value);
}).catchError((err) {
showError(err: err, context: context);
//show the error
});
} else {
print(result.status);
print(result.message);
}
}