添加client id参数后Google登录报错代码10问题求助
Google登录错误码10问题解决方案
错误码10本质是服务端校验客户端身份不通过,针对你「Firebase账号和GCP账号分离」的场景,按以下步骤排查即可解决:
- 第一步:确认
requestIdToken传入的不是Android端的OAuth客户端ID,必须传入GCP账号下的Web端OAuth客户端ID。Google登录Android端获取idToken的规则要求必须传服务端/Web端的客户端ID,传Android端的ID会直接返回10错误,这是该场景下最常见的踩坑点。 - 第二步:因为你的应用已经集成了Firebase的推送和Crashlytics,需要在Firebase控制台的「项目设置」->「通用」页,把GCP账号下的Web端OAuth客户端ID添加到「自定义OAuth客户端ID」列表中,避免Firebase SDK拦截Google登录请求时校验ID不匹配。
- 第三步:检查GCP账号下的Web端OAuth客户端ID配置,不需要为Web端ID配置额外SHA1,只要保证同账号下的Android端OAuth客户端ID的SHA1、包名配置正确即可。
- 第四步:本地调试时确认打包用的签名文件SHA1和你在GCP账号下Android OAuth客户端配置的SHA1完全一致,注意区分debug签名和release签名的不同SHA1值。
正确的配置代码参考:
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) // 此处传入GCP的Web端OAuth客户端ID,不是Android端的 .requestIdToken("your_gcp_web_oauth_client_id") .requestEmail() .build()
内容的提问来源于stack exchange,提问作者XXAAAAAAAXXX
相关产品推荐
相关产品推荐

