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

克隆Firebase应用更换项目后,Google登录报access_token受众不符错误

解决Firebase Google登录"Invalid Idp Response: access_token audience is not for this project"错误

针对你遇到的仅Google登录异常、邮箱密码登录正常的情况,问题核心是Google OAuth返回的access_token受众(audience)与当前Firebase项目不匹配,以下是具体排查和修复步骤:

  • 检查GCP OAuth客户端ID配置
    Firebase的Google登录依赖关联Google Cloud Platform(GCP)项目的OAuth 2.0客户端ID,克隆项目更换Firebase账号后,需确认:

    1. 进入新Firebase项目设置→"服务"标签,点击"Google Cloud Platform"链接跳转至对应GCP项目
    2. 在GCP中搜索"API和服务"→"凭据",找到对应平台(Web/Android/iOS)的客户端ID
    3. 验证授权重定向URI是否与当前应用匹配:Web应用需为https://<新项目ID>.firebaseapp.com/__/auth/handler;Android/iOS需为包名+SHA1对应的自动生成URI
    4. 确认未误使用旧项目的OAuth客户端ID,比如代码中硬编码了旧ID而非从配置文件读取
  • 彻底替换并同步配置文件
    确保新的google_services.json(Android)或GoogleService-Info.plist(iOS)完全覆盖旧文件:

    1. 删除旧配置文件,从新Firebase项目重新下载对应平台的配置文件
    2. Android执行./gradlew clean清理构建缓存后同步Gradle;iOS使用Command+Shift+K清理Xcode缓存并重新构建
    3. 打开配置文件,检查oauth_client字段中的client_id是否属于新Firebase项目
  • 验证Firebase Auth Google登录提供商配置
    进入新Firebase项目的Authentication→登录方法→Google:

    1. 确认已启用Google登录,且关联的GCP项目为当前Firebase对应的项目
    2. 核对"Web SDK配置"中的客户端ID,确保与GCP凭据中的客户端ID一致
  • 排查代码中的硬编码配置
    检查代码中是否存在硬编码的OAuth信息:

    • Android中,初始化GoogleSignInOptions时,确保使用getString(R.string.default_web_client_id)(该值由google_services.json自动生成),而非手动填写旧项目的client_id
    • Web端检查firebase.auth.GoogleAuthProvider初始化时,是否传入了旧的client_id
  • 清除应用缓存或重新安装
    旧应用可能缓存了旧的OAuth会话数据,导致请求携带错误的token:卸载应用后重新安装,或清除应用存储数据后重试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:35:19