React Native CLI集成Firebase手机认证时授权错误的解决方法
以下是针对该错误的具体排查和解决步骤:
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
相关产品推荐
相关产品推荐

