'Flutter: Unable to get Firebase social login email after successful login
I am using social login for my Flutter app for both iOS and Android platforms. After successful login I need to access the user's email from Firebase. I tried in different ways, however it is always null for me.
Following is my code that i am using. I am able to print the displayname.
PubSpec.yaml
firebase_core: ^1.10.0
firebase_auth: ^3.2.0
google_sign_in: ^5.2.1
flutter_facebook_auth: ^3.5.6
firebase_remote_config: ^1.0.4
static Future<UserCredential> signInWithGoogle() async {
final GoogleSignInAccount? googleUser = await GoogleSignIn().signIn();
final GoogleSignInAuthentication? googleAuth = await googleUser?.authentication;
final credential = GoogleAuthProvider.credential(
accessToken: googleAuth?.accessToken,
idToken: googleAuth?.idToken,
);
var currentUser = FirebaseAuth.instance.currentUser;
print(currentUser.email);
print(currentUser.displayName);
return await FirebaseAuth.instance.signInWithCredential(credential);
}
static Future<UserCredential> signInWithFacebook() async {
final LoginResult loginResult = await FacebookAuth.instance.login();
final OAuthCredential facebookAuthCredential =
FacebookAuthProvider.credential(loginResult.accessToken!.token);
var currentUser = FirebaseAuth.instance.currentUser;
print(currentUser.email);
print(currentUser.displayName);
return FirebaseAuth.instance.signInWithCredential(facebookAuthCredential);
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
