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

React Native Firebase电话认证报错:缺失有效应用标识符

React Native Firebase电话认证报错:[auth/missing-client-identifier]

报错信息

控制台警告:可能存在未处理的Promise拒绝(ID:0):Error:
[auth/missing-client-identifier] 此请求缺少有效的应用标识符,意味着Play Integrity校验、SafetyNet校验和reCAPTCHA校验未通过。请重试,或查看logcat获取更多详情。NativeFirebaseError: [auth/missing-client-identifier] 此请求缺少有效的应用标识符,意味着Play Integrity校验、SafetyNet校验和reCAPTCHA校验未通过。请重试,或查看logcat获取更多详情。

复现步骤

  • 执行 npx react-native@latest init Example && cd Example
  • 执行 cd android && ./gradlew signingReport
  • 下载包含SHA-1和SHA-256的google-services.json到android/app目录
  • 按照Firebase官方Android配置规范添加对应代码
  • 执行 npm i @react-native-firebase/app @react-native-firebase/auth
  • 将Firebase电话认证官方示例代码复制到App.tsx

已尝试的解决措施

  • 在android/app/build.gradle中添加 implementation 'com.google.android.play:integrity:1.1.0'
  • 启用Firebase相关API与服务
  • 在Firebase控制台添加应用的SHA-1和SHA-256指纹
  • 在Firebase认证设置中允许{PROJECT_ID}.firebase.app访问

进一步排查解决建议

  1. 校验SHA指纹一致性
    确认./gradlew signingReport输出的debug/release版本SHA-1、SHA-256与Firebase控制台添加的完全匹配,测试阶段务必添加debug指纹。
  2. 重新获取google-services.json
    从Firebase控制台重新下载最新配置文件,检查文件中client[0].oauth_client[0].client_id与控制台OAuth客户端ID一致,且文件正确放置在android/app目录,执行gradle同步确保配置生效。
  3. 确认Play Integrity API权限
    登录Google Cloud控制台,检查Play Integrity API是否启用,同时确保项目服务账号拥有Play Integrity API Reader相关权限。
  4. 检查reCAPTCHA配置
    确认Firebase认证的电话认证模块中reCAPTCHA验证已正确配置,Android应用默认使用隐式reCAPTCHA,需保证应用包名、签名与控制台配置完全匹配。
  5. 查看Logcat详细日志
    运行 adb logcat | grep FirebaseAuth 或通过Android Studio查看Logcat,定位具体是Play Integrity、SafetyNet还是reCAPTCHA校验失败,针对性修复。
  6. 验证测试环境
    确保测试设备安装了最新版Google Play服务;若使用模拟器,需选择包含Google APIs的系统镜像。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 08:25:08