React Native集成Firebase+Google Cloud OAuth登录遇Error 400错误求助
解决React Native + Firebase Google OAuth登录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,确保两端配置统一
- Android端:确认重定向URI为
确认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, });重置应用授权状态
- 卸载应用后重新安装
- 登录Google账户,进入「授权应用」页面移除该应用的授权记录,再重新测试登录
内容的提问来源于stack exchange,提问作者Kellycypher98
相关产品推荐
相关产品推荐

