使用Google登录失败Firebase身份验证

时间:2019-01-23 06:41:04

标签: android flutter firebase-authentication google-signin

应用在不久前运行良好,突然开始显示此异常-

  

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);
        },
      );

3 个答案:

答案 0 :(得分:0)

基本上问题在于控制台上的SHA1密钥,请重新生成它,然后再次正确地放入相同的项目。

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

2)最重要的是转到您的Firebase项目的设置(齿轮图标在左上角“概述”的右侧。然后切换到“帐户链接”标签。在该标签上,将Google Play链接到您的项目。< / p>

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

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

答案 1 :(得分:0)

我对一个运行良好的应用程序遇到了类似的问题(使用Firebase登录Google Play商店)。几天前(可能是在Android Studio升级到3.3之后),该登录无法正常工作。经过多次尝试,我将应用程序重新连接到了Firebase,一切都很好。
如果我现在按Tools-Firebase-Analytics-Log Analytics事件(在Android Studio中),我会看到第1点和第2点是绿色。那不是以前。
重新连接后,*。json文件已更改。但是我认为,它不能与firebase中的* .json文件一起使用。
也许值得一试。

答案 2 :(得分:0)

也有此问题,但对我来说,最好的解决方案是将调试和发布证书SHA-1指纹同时添加到Firebase控制台(谁知道您可以同时添加两者),然后将新的google-services.json文件下载到该项目。

现在,我可以在应用程序中成功登录以进行调试和发布了。