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

React Native集成Firebase+Google Cloud OAuth登录遇Error 400错误求助

解决React Native + Firebase Google OAuth登录Error 400: invalid request问题

访问被阻止:身份验证错误(Error 400: invalid request)

我正在尝试为React Native应用通过Firebase和Google Cloud OAuth配置Google身份验证,但测试登录时遇到问题:访问被阻止:身份验证错误(Error 400: invalid request)。预期会出现显示用户已保存凭据的授权页面,或供用户输入凭据的表单。


排查与解决步骤:

  • 核对OAuth重定向URI
    进入Google Cloud Console的「API和服务 -> 凭据」页面,找到对应项目的OAuth 2.0客户端ID:

    • Android端:确认重定向URI为com.your.app.id:/oauth2callback,和android/app/src/main/AndroidManifest.xml里的配置完全匹配
    • iOS端:确认重定向URI为com.your.app.id:/oauth2callback,和Info.plist中的URL Schemes一致
    • Expo项目:使用exp://your-expo-url:/--/auth或自定义scheme,确保两端配置统一
  • 确认Firebase与Google Cloud项目关联
    打开Firebase控制台的「项目设置 -> 集成」页面,检查是否已正确关联目标Google Cloud项目,若关联异常则重新绑定。

  • 检查OAuth客户端ID配置
    在Firebase控制台「身份验证 -> 登录方法 -> Google」中,确认填写的Web/Android/iOS客户端ID与Google Cloud Console中的对应ID完全一致,无拼写错误。

  • 验证Android应用SHA指纹
    用keytool命令获取debug/release版本的SHA-1指纹:

    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    

    将获取到的指纹同时添加到Google Cloud Console的OAuth客户端ID设置、Firebase控制台「项目设置 -> 应用 -> Android应用」的SHA证书指纹中。

  • 检查代码登录配置
    确保React Native代码中Google登录的参数正确,示例如下:

    import { GoogleSignin } from '@react-native-google-signin/google-signin';
    
    GoogleSignin.configure({
      webClientId: '你的Web客户端ID', // 与Google Cloud中的Web客户端ID完全一致
      offlineAccess: false,
    });
    
  • 重置应用授权状态

    1. 卸载应用后重新安装
    2. 登录Google账户,进入「授权应用」页面移除该应用的授权记录,再重新测试登录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:25:07