iOS上的Flutter Firebase身份验证未显示Google登录时登录的帐户

时间:2019-05-28 20:04:40

标签: ios firebase flutter firebase-authentication

我已经在Flutter上实现了Firebase身份验证,无论是Google登录还是Facebook登录。

  final FirebaseAuth _auth = FirebaseAuth.instance;
  final GoogleSignIn _googleSignIn = GoogleSignIn();

...

  Future<String> authenticateWithGoogle() async {
    final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
    if (googleUser!=null) {
      final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
      final AuthCredential credential = GoogleAuthProvider.getCredential(
        accessToken: googleAuth.accessToken,
        idToken: googleAuth.idToken,
      );

      return _signInWithCredential(credential);
    }

    return null;
  }

  Future<String> _signInWithCredential(AuthCredential credential) {
    return _auth.signInWithCredential(credential).then((user) => user.getIdToken());
  }

它们都在iOS和Android上运行。唯一的问题是,即使在用户已经登录的情况下,也仅在iOS上要求用户登录Google帐户。因此,在同一设备上的其他应用程序上,当用户尝试使用Google登录时,系统会将他们转到进入“选择帐户”页面,而在我的应用程序中,他们被带到“登录”页面。

Facebook登录未显示此行为。

0 个答案:

没有答案