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

iOS端Firebase Google登录报错Error 400: invalid_request求助

iOS Firebase集成Google登录 Error 400: invalid_request 解决思路

问题重现

打开网页登录时出现:

无法验证此应用的真实性,请联系开发者。Token验证失败。
Error 400: invalid_request

已排查项

  • 核对GoogleService-Info.plist的CLIENT_ID、REVERSED_CLIENT_ID与Google Cloud配置一致
  • Xcode中URL Type已匹配REVERSED_CLIENT_ID
  • 移除并重新添加Firebase iOS应用,问题未解决

进一步排查方案

  • 修正代码中的AccessToken错误
    你的代码里创建Firebase凭证时,错误地将idToken重复传给了accessToken参数,这是核心问题之一:
    原错误代码:

    let credential = GoogleAuthProvider.credential(withIDToken: idTokenString, accessToken: signInResult?.user.idToken?.tokenString ?? "")
    

    正确写法:

    let credential = GoogleAuthProvider.credential(withIDToken: idTokenString, accessToken: authentication.accessToken.tokenString)
    

    注意:accessToken需要取signInResult?.user.accessToken.tokenString,而非idToken。

  • 核对Google Cloud OAuth客户端ID的Bundle ID
    进入Google Cloud控制台「API和服务」→「凭据」,找到对应的iOS客户端ID,确认Bundle ID与Xcode项目中的CFBundleIdentifier完全一致(大小写、特殊字符都不能差)。

  • 确认Google登录API已启用
    在Google Cloud控制台的API库中搜索「Google登录」,确保该API状态为「已启用」,未启用会直接导致验证失败。

  • 检查重定向URI配置
    在Google Cloud的iOS客户端ID详情页,确认「授权重定向URI」列表中包含com.googleusercontent.apps.你的CLIENT_ID前缀:/oauth2callback,如果没有,手动添加该URI。

  • 添加证书指纹(关键)
    如果你的App使用了签名(无论是Debug还是Release),需要将对应证书的SHA-1指纹添加到Google Cloud的凭据配置中:

    1. 获取证书SHA-1:可通过Xcode「Signing & Capabilities」→「Team」查看证书,或用终端命令提取
    2. 进入Google Cloud控制台「API和服务」→「凭据」,找到对应的项目,添加SHA-1指纹到iOS客户端ID或项目的OAuth同意屏幕配置中
  • 清理缓存与重建

    • 卸载设备上的App,清理Xcode缓存(Cmd+Shift+K),重新构建运行
    • 若使用真机测试,可尝试清除Google App的缓存,或用隐私模式打开登录页面测试缓存问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 19:23:27