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

Flutter中Firebase Google Sign In错误12500(生产环境异常)求助

解决Flutter Firebase Auth Google登录生产环境错误12500的方法

错误12500本质是OAuth客户端配置不匹配或签名验证失败,以下是针对性修复步骤:

  • 确认生产包签名指纹完全匹配
    模拟器用的是调试签名,生产版如果用发布keystore打包,必须确保Firebase控制台和GCP OAuth客户端里的SHA-1、SHA-256是发布版签名指纹,而非调试版。用命令重新生成发布指纹:

    keytool -list -v -keystore 你的发布keystore路径 -alias 你的别名
    

    复制生成的指纹,替换或添加到Firebase项目设置的「应用签名」区域,同时在GCP控制台「API和服务」→「凭据」里,找到对应Android OAuth客户端ID,确认指纹完全一致。

  • 核对OAuth客户端ID配置

    1. 打开GCP控制台凭据页面,找到「Android客户端」和「Web客户端」两个ID(Google Sign In依赖Web客户端ID)。
    2. 确保Android客户端的包名和生产版包名完全一致,无拼写错误。
    3. 确认Web客户端ID已正确写入Flutter代码:
      final GoogleSignIn _googleSignIn = GoogleSignIn(
        clientId: "你的Web客户端ID.apps.googleusercontent.com",
      );
      
  • 检查Google Cloud API状态
    登录GCP控制台,搜索「Google Identity Toolkit API」和「Google Sign-In API」,确认两个API均已启用,未启用则点击启用按钮。

  • 验证Firebase Auth登录设置
    进入Firebase控制台「Authentication」→「登录方法」,确保「Google」登录已启用,且支持的邮箱域名无不合理限制(若有限制,需确保用户邮箱在允许范围内)。

  • 重新生成并替换配置文件
    修改完Firebase或GCP配置后,下载最新的google-services.json,替换Flutter项目android/app目录下的旧文件,执行flutter clean和flutter pub get后重新打包生产版本。

  • 确认打包签名配置正确
    检查android/app/build.gradle中的签名配置,确保生产打包使用的是已配置指纹的keystore:

    signingConfigs {
      release {
        keyAlias '你的别名'
        keyPassword '你的密码'
        storeFile file('你的keystore路径')
        storePassword '你的密码'
      }
    }
    buildTypes {
      release {
        signingConfig signingConfigs.release
        // 其他打包配置
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 00:37:09