首页 文章

颤动 - 无法使用Firebase身份验证登录

提问于
浏览
1

我的Android Flutter应用使用Firebase身份验证进行Google登录 . 在调试模式下一切都很好,但在发布模式下失败 . 我已在Firebase控制台中为调试和发布密钥库添加了SHA-1指纹,并已更新到最新的google-services.json .

问题似乎是我从来没有得到过Firebase用户 . 此方法始终返回null:

Future<FirebaseUser> _getCurrentUser() async {
  FirebaseAuth firebaseAuth = FirebaseAuth.instance;
  if (firebaseAuth.currentUser() != null) {
    return await firebaseAuth.currentUser();
  }

  return null;
}

codelabs示例也不起作用 . 它返回了GoogleSignInUser,但它没有在控制台中创建Firebase用户:

Future<GoogleSignInAccount> _ensureLoggedIn() async {
  GoogleSignInAccount user = _googleSignIn.currentUser;
  if (user == null) user = await _googleSignIn.signInSilently();
  if (user == null) {
    user = await _googleSignIn.signIn();
    analytics.logLogin();
  }
  if (_auth.currentUser == null) {
    GoogleSignInAuthentication credentials =
        await _googleSignIn.currentUser.authentication;
    await _auth.signInWithGoogle(
      idToken: credentials.idToken,
      accessToken: credentials.accessToken,
    );
  }

  return user;
}

我之前在原生Android应用程序中实现了Firebase身份验证就好了 . 我已经阅读了其他几个关于此的堆栈溢出帖子,但我觉得我已经尝试了一切 . 任何帮助,将不胜感激!

UPDATE:

在发布版本中,如果我没有设置任何读/写规则,我可以读取和写入数据库 . 我仍然无法创建FirebaseUser . 我可以创建GoogleSignInAccount,但这不会创建Firebase用户 .

1 回答

  • 0

    我设法让它运作起来 . 我刚刚将所有依赖项更新到最新版本并针对最新版本的android,然后使用此guide更新了我的项目,并使用与此example相同的方式对Firebase进行了身份验证 .

    这些是我的依赖:

    google_sign_in: 2.0.0
    firebase_analytics: 0.2.0
    firebase_auth: 0.4.0
    firebase_database: 0.3.1
    firebase_admob: 0.2.2
    

    希望这有助于某人!

相关问题