signIn method
Future<UserCredential?>
signIn(
- dynamic authProvider
)
Implementation
Future<UserCredential?> signIn(AuthProvider authProvider) async {
try {
UserCredential userCredential;
if (kIsWeb) {
userCredential =
await FirebaseAuth.instance.signInWithPopup(GoogleAuthProvider());
logger.i("Logged in via google on web");
authProvider.notifyListeners();
} else {
final GoogleSignInAccount? googleUser = await GoogleSignIn().signIn();
GoogleSignInAuthentication? googleAuth =
await googleUser?.authentication;
AuthCredential authCredential = GoogleAuthProvider.credential(
accessToken: googleAuth?.accessToken,
idToken: googleAuth?.idToken,
);
userCredential =
await FirebaseAuth.instance.signInWithCredential(authCredential);
logger.i("Logged in via google on mobile");
authProvider.notifyListeners();
}
// FirebaseAuth.instance.signInWithCredential(authCredential); // important!
return userCredential;
} catch (error) {
logger.e("Error while singing in with google", error);
}
return null;
}