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

升级Firebase Auth UI后Google登录报错求助

解决FirebaseUI Auth 4.0.0 Google登录错误(Code 10)

看起来你在升级FirebaseUI Auth到4.0.0版本后,遇到了Google登录抛出Code 10的异常,而Facebook和邮箱登录都正常。结合你提供的错误日志、依赖配置和代码,这个问题大概率和依赖版本冲突或者OAuth客户端配置缺失有关,下面是具体的排查和修复步骤:

1. 修复依赖版本不匹配的问题

FirebaseUI Auth 4.0.0对依赖的版本有严格要求,你当前使用的play-services-auth:15.0.1版本过低,和firebase-ui-auth:4.0.0不兼容。根据FirebaseUI官方的兼容列表,4.0.0版本需要搭配play-services-auth:16.0.0+,和你使用的firebase-auth:16.0.1保持一致是最稳妥的选择。

修改你的app级build.gradle中的依赖:

// 替换旧的play-services-auth版本
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.firebaseui:firebase-ui-auth:4.0.0'
implementation 'com.google.firebase:firebase-auth:16.0.1'

修改后执行Clean Project和Rebuild Project,确保依赖同步正确。

2. 检查SHA-1指纹与OAuth客户端ID配置

Code 10错误的核心原因通常是OAuth客户端验证失败,这需要你确认以下几点:

  • 登录Firebase控制台,进入项目设置 -> 应用页面,确保你已经添加了debug和release版本的SHA-1证书指纹(可以通过keytool命令生成,或者在Android Studio的Signing Report中查看)。
  • 登录Google Cloud Console,找到OAuth 2.0客户端ID管理页面,检查对应你应用包名的客户端ID是否存在,并且包名、SHA-1指纹和你的应用完全匹配。
  • 如果修改了指纹或包名,务必重新下载google-services.json文件并替换到你的app目录下,然后再次同步项目。

3. 验证Google Identity Toolkit API是否启用

虽然FirebaseUI会自动处理大部分API配置,但有时候需要手动启用相关API:

  • 登录Google Cloud Console,搜索并启用Google Identity Toolkit API。
  • 确认Firebase项目和Cloud Console项目是关联的(可以在Firebase项目设置 -> 集成 -> Google Cloud Platform中查看关联状态)。

4. 优化登录代码中的Google Provider配置

你的登录代码中Google Provider的配置基本没问题,但可以尝试显式指定ID Token来确保配置正确:

selectedProviders.add(new AuthUI.IdpConfig.GoogleBuilder()
        .requestIdToken(getString(R.string.default_web_client_id)) // 添加这一行
        .build());

default_web_client_id可以从google-services.json文件的client -> oauth_client -> client_id(类型为web的那一项)中获取,或者在Firebase控制台的项目设置 -> 应用 -> Web应用配置中找到。

完成以上步骤后,重新测试Google登录功能,应该就能解决Code 10的错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:16:52