【问题标题】:Flutter Firebase Auth doesn't work from Google PlayFlutter Firebase Auth 在 Google Play 中不起作用
【发布时间】:2021-04-05 10:54:08
【问题描述】:

我在 Flutter 应用中提供了 Firebase 身份验证服务。它正在模拟器和真实设备上工作(调试时)。但是当我在 google play 上发布它时,无论是 alpha 测试还是发布版本都不起作用。

Main.dart

        StreamProvider(
      create: (context) => context.read<AuthenticationService>().authStateChanges,
    )

AuthService

  final FirebaseAuth _firebaseAuth;
  AuthenticationService(this._firebaseAuth);
  AccessToken accessToken;
  Stream<User> get authStateChanges => _firebaseAuth.idTokenChanges();

AuthService 中的SignedIn 方法

  Future<String> signIn({String email, String password}) async {
    try {
      await _firebaseAuth.signInWithEmailAndPassword(email: email, password: password);
      String uid = await FirebaseAuth.instance.currentUser.uid;

      return "Signed in";
    } on FirebaseAuthException catch (e) {
      return e.message;
    }
  }

Login.dart

  var login = await context.read<AuthenticationService>().signIn(email: mailController.text, password: sifreController.text);

【问题讨论】:

    标签: android firebase flutter google-login


    【解决方案1】:

    可能是您忘记将 Google Play 指纹放入您的 Firebase 应用配置中。

    如果您的应用上没有 Google Play 指纹,则用户无法连接到 Firebase 服务。

    您可以在设置 -> 应用签名菜单中找到您的 Google Play 指纹。 见下图

    然后您应该将它们添加到您的 firebase 应用的 android 设置中。

    【讨论】:

    • 我已经签署了应用程序(我想如果没有这一步我也无法发布),并且在这个页面中我看到了一些密钥 - 应用程序签名密钥 *md5 *sha1 *sha256 - 上传密钥证书 *md5 * sha1 *sha256 idk 我该如何使用它们。但是有一些键
    • @EmreTufekci 您应该在 Firebase 应用的 Android 设置中复制这些密钥。我编辑了我的帖子,以便您可以看到在哪里添加密钥。
    • 我正在输入这个答案,然后你编辑了。在等你的时候我想通了。非常感谢,这对我来说是一个很好的提示:)“@BLKKKBVSIK 的答案是正确的,但我需要添加更多,我已经将调试 sha1 添加到 firebase 但这还不够。转到@BLKKKBVSIK 的共享屏幕副本 SHA-1,然后转到 firebase 控制台 - android 页面添加指纹并添加该 SHA-1。然后它工作了。"
    猜你喜欢
    • 2021-11-21
    • 2018-07-29
    • 2021-06-06
    • 2020-08-09
    • 2022-10-05
    • 2020-10-17
    • 2017-03-16
    • 2020-06-04
    • 2020-11-14
    相关资源
    最近更新 更多