频繁登录和退出后 Google 登录失败

2023-12-10

我最初可以多次使用 Google 帐户登录我的应用程序。 一切安好。

但如果我在一两分钟内签入和签出大约 20 次。 Google 登录失败并重新登录onActivityResult函数,返回错误代码12501,resultCode = 0;

我使用的手机:Nexus 6,Android 5.1.1

这是我的代码:

private GoogleSignInOptions mGso;
private GoogleApiClient mGac;

public void init(@NonNull final BaseActivity activity) {
    mGso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(activity.getString(R.string.default_web_client_id))
            .requestEmail()
            .build();

    mGac = new GoogleApiClient.Builder(activity)
            .enableAutoManage(activity /* FragmentActivity */, new GoogleApiClient.OnConnectionFailedListener() {
                @Override
                public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
                    ToastUtils.show(activity, R.string.login_failed);
                }
            })
            .addApi(Auth.GOOGLE_SIGN_IN_API, mGso)
            .build();
}

public void signIn(@NonNull final BaseActivity activity,
                   @NonNull GoogleSignInCallback callback,
                   @NonNull final OnLoadingListener<PlatformUserEntity> listener) {

    callback.registerCallback(listener);
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGac);
    activity.startActivityForResult(signInIntent, REQUEST_GOOGLE_SIGNIN);

    // disconnect the client
    mGac.stopAutoManage(activity);
    mGac.disconnect();

}

这是等级:

compile 'com.google.android.gms:play-services-base:9.6.1'
compile 'com.google.android.gms:play-services-gcm:9.6.1'
compile 'com.google.android.gms:play-services-auth:9.6.1'

首先,我使用 FragmentActivity 初始化 GoogleApiClient,然后登录函数启动 Acitvity。 GoogleSignInCallback 是在 onActivityResult 函数中注册的。然后断开客户端连接,因为每次单击登录按钮时,都会调用 init 函数。

我怀疑我使用stopAutoManage()太早了,但似乎不是真的。 所以我很困惑,哪一部分可能是错误的?

我注意到日志:

Could not set socket write timeout: null
12-03 17:21:43.859 264-264/? W/SurfaceFlinger: couldn't log to binary event log: overflow.
12-03 17:21:43.902 1946-12870/? W/Conscrypt: Could not set socket write timeout: null
12-03 17:21:44.327 21168-21168/? W/AccountChipsFragment: Recording consent failed.
12-03 17:21:44.657 29359-29782/? E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE
12-03 17:21:44.664 812-1072/? W/ActivityManager: getRunningAppProcesses: caller 10145 does not hold REAL_GET_TASKS; limiting output
12-03 17:21:44.697 21168-21168/? W/AutoManageHelper: Unresolved error while connecting client. Stopping auto-manage.

它说“您的OAuth2相关配置错误”,但我可以在第一时间使用Web客户端id来请求IdToken。

这只会让我更加困惑。

我还发现了一个奇怪的事情。如果我安装本地构建的apk,则不会发生此错误。如果我从 Google Play 商店下载,就会出现此错误。但这两个apk没有区别,因为我用本地的apk来提供google store。


终于我找到了原因。 我的apk被我们公司的发布程序再次签名了。 该过程使用了另一个密钥库,因此我的 sha1 密钥已更改。 我在google开发控制台中配置了新的sha1密钥,这个错误解决了。

但我仍然很困惑,如果我使用调试密钥库 apk,成功登录并卸载它,然后我安装具有不同 sha1 密钥的 google play apk,谷歌登录有时可以工作。它不会告诉我立刻就错了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

频繁登录和退出后 Google 登录失败 的相关文章

随机推荐

  • R 应用错误 - as.matrix.data.frame() 中的错误

    我遇到了一个莫名其妙的错误 我正在使用以下函数删除任何列中包含 NA 观察值的数据帧的行 removes NA d rows from a dataFrame wipeNArows lt function X rowsToDelete lt
  • 使用 PHP 和 JSON 将图像数据从 XCode 插入 MySQL 数据库

    如何使用 JSON 通过 PHP 从 XCode 在 MySQL 数据库中插入 存储图像 从 xcode 中 您可以 void uploadImage UIImage image NSData imageData UIImageJPEGRe
  • 如何使用 ionic 将 URL 中的图像保存到设备照片库中?

    我是 ionic 的新手 我正在应用程序中使用 ionic 开发应用程序 当用户单击下载按钮时 我需要将图像下载到用户设备 我进行了很多搜索 但找不到任何合适的解决方案 您可以使用Transfer plugin from ionic nat
  • 如何在 Mongoose 中检索嵌入文档中数组的最后一个对象?

    我在编写查询来检索 Story 文档中嵌入的 Comments 数组的最后一个对象时遇到问题 当我执行 db stories find 时 我的集合当前看起来像这样 id ObjectId 55d3a39565698bbc68079e31
  • XMPP 聊天应用程序因使用 VoIP 服务作为后台模式而被拒绝

    我已经完成了一个 XMPP 聊天应用程序 其中我使用 Voip 服务来获取 Voip 密钥 以便在我在后台时接收聊天消息 功能一切正常 但应用程序商店拒绝该应用程序 响应如下 2 16 多任务应用程序只能将后台服务用于其预期目的 VoIP
  • iPad 上模态视图上显示不需要的 SplitView

    在 iPad 上测试我的第一个 SwiftUI 应用程序时 我发现从 ContentView 显示的模态视图在 iPad 上显示为拆分视图 主侧的 UI 被截断 详细信息侧为空 我确实在这里检查了两篇文章 不需要的分割视图 and UISp
  • 读取csv文件c#

    有没有办法将 csv 文件读入矩阵 这样文件中的每个方块都将是矩阵中的一个单元格 有许多开源 CSV 阅读器 而且编写自己的代码也很容易 首先请访问 codeplex com http kbcsv codeplex com 或者Codepr
  • 使用 D3.js 对折线图中的线条进行动画处理

    我有我的折线图 有 2 条线 绘制折线图的数据是从 csv 文件中提取的 谁能解释一下我如何从一个空图表开始 当我单击一个按钮时 我的线条在图表上有动画效果吗 提前致谢 var Button d3 select button var mar
  • 我无法在 R 中安装软件包

    当我尝试在 Rstudio 中安装任何软件包时 我收到以下错误消息 Error in install packages path 1 C Users javad Documents Rhistory win library 3 2 The
  • 处理来自 api 调用的文件下载

    在反应中 我正在根据 John Culviner 中提到的解决方案测试我的文件下载这个帖子 axios post api downloadMyFile data then response gt const url window URL c
  • jQuery.datepicker.formatDate 和时区偏移

    为了处理日期 我使用 jQuery UIpublic我的应用程序中的方法 jQuery datepicker formatDate 请参阅此处的参数和来源 https github com jquery jquery ui blob mas
  • 在 ASP.NET MVC 5 中将整个对象从视图传递到控制器

    有没有办法将整个对象从 ASP NET MVC 5 视图传递到控制器 这是我的情况 我有一个显示数据库表中所有行的视图 视图的模型是 IEnumerable 每行数据后面都有一个链接 可通往支架式 UPDATE 视图 有没有办法将整个对象传
  • C#/IRS ACA - 使用 WCF 4.5 发送带有 MTOM 附件和 GZip 编码的 Web 服务请求

    我们正在尝试通过公开的 Web 服务将数据发送到 IRS 以进行 ACA 数据传输 但由于安全标头中时间戳和签名元素的顺序 我们无法使 WSE 3 0 方法发挥作用 当 TimeStamp 元素出现在 Signature 元素之前时 IRS
  • Windows 上的 Pyusb - 没有可用的后端

    我正在尝试通过 USB 将我的 Python 应用程序接口与 NFC 设备连接 最好的选择似乎是PyUSB 但我无法让它连接到 libusb 后端 我不断得到 ValueError 没有可用的后端 我查看了堆栈跟踪 发现usb backen
  • 具有多次重复的 scikit-learn GridSearchCV

    我正在尝试为 SVR 模型获取最佳参数集 我想使用GridSearchCV超过不同的值C 然而 从之前的测试中 我注意到训练 测试集的划分极大地影响了整体性能 在本例中为 r2 为了解决这个问题 我想实现重复的 5 倍交叉验证 10 x 5
  • C# 中的 CS0649 错误

    代码中存在一个我找不到的错误 某些变量根本无法工作 我收到的警告 CS0649 字段 Calculations A 从未分配 并且始终具有默认值 0 ABC Formule path Calculations cs CS0649 字段 Ca
  • Ruby 哈希值总和

    我有一个哈希数组 players id gt 1 name gt Alda dice count gt 5 hand gt 6 5 2 4 3 id gt 2 name gt Gonzalo dice count gt 5 hand gt
  • Directdraw:旋转视频流

    Problem Windows Mobile Directdraw 旋转视频流 视频预览正在工作 我现在需要的只是旋转图像的方法 我认为处理这个问题的唯一方法是编写一个基于的自定义过滤器CTransformFilter这将为您旋转相机图像
  • Linux 找不到动态链接的应用程序

    我有一个运行 Linux Kernel 3 10 和 Busybox 的嵌入式系统 如果我交叉编译 由 bu ildroot 构建工具链 因此使用 uclibc 一个没有 static 标志的程序 它不会运行 bin sh hellowor
  • 频繁登录和退出后 Google 登录失败

    我最初可以多次使用 Google 帐户登录我的应用程序 一切安好 但如果我在一两分钟内签入和签出大约 20 次 Google 登录失败并重新登录onActivityResult函数 返回错误代码12501 resultCode 0 我使用的