Я пытаюсь собрать письмо от пользователя, который успешно входит в систему через Firebase auth для Flutter с flutter_facebook_login.
Пользователь успешно вошел в систему, но объект не имеет адреса электронной почты. Отображаемое имя в порядке, и подобные успешные логины для Google имеют атрибут email. Попытка обновления после того, как они удалили все старые функции входа в Facebook, чтобы использовать эти учетные данные.
Future<FirebaseUser> _signInFacebook() async {
final facebookLoginResult = await globals.facebookSignIn
.logInWithReadPermissions(['email', 'public_profile']);
FacebookAccessToken myToken = facebookLoginResult.accessToken;
AuthCredential credential =
FacebookAuthProvider.getCredential(accessToken: myToken.token);
FirebaseUser firebaseUser = await
_auth.signInWithCredential(credential);
print("signed in " + firebaseUser.email);
return firebaseUser;
}
Изменить: Независимо от того, какая учетная запись была создана первым Google или Facebook, вторая созданная учетная запись не возвращает firebaseUser.email
. Он доступен через firebaseUser.providers[0].email
, но его нельзя использовать в приложении.