React Native集成Firebase电话认证遇授权错误,求解决方案
核对包名与签名指纹
- 确保Firebase控制台Android应用的包名,和项目
android/app/build.gradle里的applicationId完全一致,大小写也不能错。 - 重新生成签名指纹,命令:
keytool -list -v -keystore <你的keystore路径> -alias <别名>。调试版默认路径为~/.android/debug.keystore,别名androiddebugkey,密码android。确认生成的SHA-1、SHA-256和Firebase控制台添加的完全匹配,注意区分调试/发布环境的指纹。
- 确保Firebase控制台Android应用的包名,和项目
验证google-services.json文件
- 从Firebase控制台重新下载最新的
google-services.json,替换android/app目录下的旧文件。 - 打开文件检查
package_name是否和项目applicationId一致,sha1、sha256字段是否包含你添加的指纹信息。
- 从Firebase控制台重新下载最新的
调整Play Integrity配置
- 确认Google Play Console的应用已和Firebase项目正确关联,且Play Integrity API已启用。
- 调试阶段可暂时关闭Firebase控制台中
Authentication -> 登录方法 -> 电话 -> 高级里的「使用Play Integrity API」选项,避免调试签名不兼容导致的报错。发布时再开启该选项。 - 若使用App Signing by Google Play,需在Google Play Console的「应用签名」页面,将调试指纹添加到「上传证书」或「应用签名证书」列表中。
清理缓存并重新构建
- 清理Android项目缓存:
cd android && ./gradlew clean - 重置Metro缓存并重启:
npx react-native start --reset-cache - 重新构建应用:
npx react-native run-android
- 清理Android项目缓存:
确认Firebase认证启用状态
- 检查Firebase控制台
Authentication模块的「电话」登录方法是否已启用,且未设置不必要的访问限制。
- 检查Firebase控制台
内容的提问来源于stack exchange,提问作者Laxman
相关产品推荐
相关产品推荐

