首页 > 解决方案 > Firebase 身份验证使用谷歌登录失败

问题描述

前一段时间应用程序运行得很好,突然它开始显示这个异常 -

PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 7: , null)

已经检查并更新了 sha-1 和 google-service.json

 GoogleSignInAccount googleUser = await _googleSignIn.signIn();
      GoogleSignInAuthentication googleAuth = await googleUser.authentication;
      await _auth
          .signInWithGoogle(
        accessToken: googleAuth.accessToken,
        idToken: googleAuth.idToken,
      )
          .then(
            (user) => _signInSuccessful(user),
      )
          .catchError(
            (e) {
          print(e);
        },
      );

标签: androidflutterfirebase-authenticationgoogle-signin

解决方案


基本上问题出在控制台上的 SHA1 密钥中,请重新生成它并再次正确放置相同的项目。

1)作为答案,确保您实际签名的 Android apk 具有与您在 Firebase 项目的 Android 集成部分(您可以下载 google-services.json 的页面)的控制台中指定的相同的 SHA1 指纹

2)最重要的是转到您的firebase项目的设置(齿轮图标在左上角区域的概述右侧。然后切换到帐户链接选项卡。在该选项卡上将Google Play链接到您的项目。

我遇到了同样的问题,在检查了解决方案之后,从重新生成指纹到将 Firebase 上的应用程序链接到 Google Play 控制台并发布签名的 apk,问题实际上是因为我使用的是 SHA-1 版本Firebase 控制台。

如果您仍处于首次亮相模式,请使用 debug.keystore SHA1 如果您处于生产模式,请仅使用发行版 SHA1 https://developer.android.com/studio/publish/app-signing.html


推荐阅读