signInWithFacebook method
Implementation
Future<void> signInWithFacebook({String? redirect}) async {
try {
// userController.showDialogProgress(show: true);
// var firebaseAuth = FirebaseAuth.instance;
// UserCredential userCredential;
// // Trigger the authentication flow
// final LoginResult loginResult = await FacebookAuth.instance.login(
// // loginTracking: LoginTracking.limited,
// // nonce: Generator().generateNonce(),
// );
// switch (loginResult.status) {
// case LoginStatus.success:
// //await _getUserProfile(loginResult.accessToken!);
// case LoginStatus.cancelled:
// case _:
// logCat(
// 'status.name:${loginResult.status.name} | message:${loginResult.message}');
// }
// //if (loginResult.status == LoginStatus.success) {
// if (CheckPlatform().isWeb) {
// FacebookAuthProvider facebookProvider = FacebookAuthProvider();
// facebookProvider.addScope('email');
// facebookProvider.setCustomParameters({
// 'display': 'popup',
// });
// userCredential =
// await FirebaseAuth.instance.signInWithPopup(facebookProvider);
// } else {
// // TODO: A verifier [accessToken] https://github.com/darwin-morocho/flutter-facebook-auth/blob/master/facebook_auth/example/lib/login_page.dart
// // Create a credential from the access token
// final OAuthCredential oAuthCredential =
// FacebookAuthProvider.credential(loginResult.accessToken!.token);
// //final OAuthCredential oAuthCredential = FacebookAuthProvider.credential(loginResult.accessToken!.tokenString);
// // Once signed in, get the credential
// userCredential =
// await firebaseAuth.signInWithCredential(oAuthCredential);
// //userCredential = await firebaseAuth.signInWithCustomToken(loginResult.accessToken!.tokenString);
// }
//
// UserModel user = UserModel();
// //currentUser = userCredential.user;
// user = await userRepository.getUserUI(currentUser: userCredential.user);
// user.userName =
// TypeSafeConversion.nullSafeString(userCredential.user?.email);
// user.motDePasse = user.userName;
// user.userCreated = 'facebook';
// //firebaseAuthBloc.currentUserSink.add(userCredential.user);
// //firebaseAuthBloc.isEmailVerifiedSink.add(userCredential.user!.emailVerified);
// await loginRegisterProvider(user: user, redirect: redirect);
// userController.showDialogProgress(show: false);
// update();
// //RouteHelper.navToPage(redirect);
} on PlatformException catch (ex, trace) {
logCat('code:${ex.code} | message:${ex.message}');
businessController.showDialogProgress(show: false);
DialogView.showAlertDialog(msg: getErrorMessage(ex));
logError(ex, trace: trace, position: 'signInWithFacebook');
signOut();
} on Exception catch (ex, trace) {
DialogView.showAlertDialog(msg: 'msg_TraitementImpossible'.tr);
businessController.showDialogProgress(show: false);
logError(ex, trace: trace, position: 'signInWithFacebook');
signOut();
} catch (ex, trace) {
businessController.showDialogProgress(show: false);
logError(ex, trace: trace, position: 'signInWithGoogle');
signOut();
}
}