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

React Native CLI集成Firebase手机认证时授权错误的解决方法

解决Firebase手机认证[auth/app-not-authorized]及play_integrity_token错误

以下是针对该错误的具体排查和解决步骤:

1. 完整核对SHA证书指纹

  • 同时添加SHA-1和SHA-256指纹到Firebase控制台:Firebase依赖Play Integrity服务,仅添加SHA-1会导致token验证失败。
  • 获取所有环境的SHA指纹:
    • 调试环境:执行keytool -list -v -keystore ~/.android/debug.keystore(默认密钥库密码为android)
    • 生产环境:执行keytool -list -v -keystore 你的发布密钥库路径
  • 登录Firebase控制台,进入项目设置→对应Android应用,确保上述两种SHA指纹已正确添加,无拼写或格式错误。

2. 严格匹配应用包名

  • 确认Firebase控制台中Android应用的包名,与项目中android/app/src/main/AndroidManifest.xml的package字段完全一致(大小写、符号均需匹配)。
  • 同步检查android/app/build.gradle中的applicationId是否与包名完全相同。

3. 修复Play Integrity Token配置

  • 确保Firebase项目已与Google Play Console绑定:进入Firebase项目设置→集成→Google Play,完成关联。
  • 若为调试环境测试:
    • 在Play Console中进入应用→应用签名→勾选"允许调试应用使用Play Integrity";
    • 或使用Play Console提供的"调试密钥"的SHA指纹添加到Firebase。
  • 若使用构建工具(如Expo、EAS),确认构建过程使用的密钥与Firebase中添加的指纹一致。

4. 清除缓存并重新构建

  • 重置React Native缓存:npx react-native start --reset-cache
  • 清理Android构建缓存:cd android && ./gradlew clean
  • 重新安装依赖并构建:
    npm install
    npx react-native run-android
    

5. 验证Firebase认证配置

  • 再次确认Firebase控制台→认证→登录方法中,手机登录提供商已启用;
  • 若为测试阶段,可添加测试电话号码(避免触发频率限制)。

额外注意事项

  • 若使用Google Play App Signing,需将Play Console提供的应用签名证书的SHA指纹添加到Firebase,而非本地上传密钥的指纹;
  • 确保测试设备安装了最新版本的Google Play服务,Play Integrity依赖该服务运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 09:02:27