Flutter登录时Firebase用户缺少电子邮件

时间:2019-04-20 01:18:00

标签: dart flutter firebase-authentication facebook-login

我正在尝试收集来自通过flutter_facebook_login通过Firebase Auth for Flutter成功登录的用户的电子邮件。

用户成功登录,但该对象没有电子邮件。显示名称很好,并且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来使用,但这似乎在整个应用程序中都不可用。

0 个答案:

没有答案