android - 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);
},
);
解决方案
基本上问题出在控制台上的 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
推荐阅读
- python - 是否可以将 QML 表视图连接到 python QAbstractModel 实例?
- push-notification - 华为PUSH套件旧令牌问题
- c# - 需要帮助从起始数字中拆分单个数字,然后分配给整数
- bitnami - logrotate UID 不在 passwd 文件中?
- windows - 我尝试使用 netcat 连接我在同一网络中的两台设备。但是我遇到了一些问题,它说网络无法访问
- android - 为什么 Android 不会将连接的计算机视为 USB 设备或 USB 附件
- r - R 中的 LIKE 运算符(在 Databricks 上)
- javascript - 在 R 中将 tibble/dataframe 转换为 JS 数组
- bash - 用于筛选或列出过去 30 天的 Azure 存储 blob 文件的 Bash 脚本
- reactjs - React Electron BrowserWindow 仅在 Windows 中不显示阴影