You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 12下Google OAuth返回invalid_grant,Android 11正常求助

Android 12下Google OAuth返回invalid_grant(Bad request)的解决方法

针对你遇到的Android 12上使用react-native-app-auth进行Google OAuth认证时返回invalid_grant错误,且仅显示“Bad request”的问题,可按以下步骤排查解决:

  • 为Android单独创建OAuth客户端ID
    不要复用Web端的OAuth凭证,Google对Android和Web端的OAuth验证逻辑不同。进入Google Cloud Console的「API和服务」→「凭据」,创建Android类型的OAuth客户端ID,填写正确的包名和对应签名证书的SHA-1指纹(调试、发布、Play内部测试版本需分别对应各自的SHA-1),替换原配置中的Web端clientId。

  • 添加Android 12包可见性配置
    Android 12限制了应用对其他应用的可见性,需在AndroidManifest.xml中添加Google Play服务的查询权限,确保能正常唤起Google认证界面:

    <queries>
        <package android:name="com.google.android.gms" />
    </queries>
    
  • 校验redirectUri与配置匹配度
    确保react-native-app-auth配置中的redirectUri和Google Cloud Console里Android客户端设置的回调地址完全一致(格式通常为你的包名:/oauth2callback),任何字符差异都可能导致验证失败。

  • 清理缓存并重启设备
    清除设备上Google Play服务的缓存,同时清除你的应用缓存和数据,重启设备后重新测试认证流程,避免旧缓存数据干扰。

  • 确认签名证书指纹正确性
    针对Play内部测试版本,需在Google Cloud Console中添加Play控制台「应用签名」页面的应用签名证书SHA-1(而非上传证书),确保证书指纹与认证请求中的签名匹配。

内容的提问来源于stack exchange,提问作者ewindsor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 13:45:32