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

React Native集成Firebase手机号验证遇授权失败问题求助

解决React Native Firebase手机号验证的「App未授权」错误

我之前也碰到过一模一样的问题!这个错误的核心原因就是Firebase控制台里的应用签名信息、包名和你本地React Native项目的配置不匹配,咱们一步步排查解决:

1. 确认SHA-1指纹的正确性

首先要确保你获取的是正确的debug keystore的SHA-1:

  • 如果你是用默认路径存储的debug keystore,一定要用对应系统的命令执行:
    • Mac/Linux:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Windows:keytool -list -v -keystore C:\Users\<你的用户名>\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
  • 注意:如果生成keystore时你自定义了存储路径,要替换成你实际的路径,不然获取到的SHA-1根本不是项目在用的那个!
  • 复制SHA-1的时候,要保留AA:BB:CC...的格式,去掉多余空格,逐字符核对避免出错。

2. 核对Firebase控制台的应用配置

打开Firebase控制台,进入你的项目 → 点击顶部「设置」图标 → 「项目设置」:

  • 包名检查:找到Android应用条目,确认包名和你React Native项目中android/app/build.gradle里的applicationId完全一致,大小写、特殊字符都不能错!
  • SHA-1指纹添加:在「签名证书指纹」区域,检查是否已经添加了你刚才获取的debug SHA-1。如果没有,点击「添加指纹」粘贴进去;如果已经有了,再仔细核对一遍,避免复制时的遗漏或错误。

3. 更新配置文件并清理缓存

  • 从Firebase控制台重新下载google-services.json文件,替换你项目中android/app目录下的旧文件(建议刷新页面后再下载,避免缓存的旧配置)
  • 清理项目缓存,避免旧配置残留:
    cd android
    # Mac/Linux执行
    ./gradlew clean
    # Windows执行
    gradlew clean
    
  • 重新运行React Native项目:npx react-native run-android

4. 额外注意(针对发布版本)

如果你的项目已经发布到Google Play,并且启用了Google Play App Signing,那还要把Google Play控制台里「应用签名」页面的SHA-1指纹也添加到Firebase控制台里——因为发布后Google会替换你的应用签名,这时候本地的debug SHA-1就不生效了。

完成这些步骤后,再测试手机号验证功能,应该就能解决这个「App validation failed」的错误了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:28:36