迁移至React Native Firebase后手机号认证遇[auth/missing-client-identifier]错误求助
手机号认证迁移到React Native Firebase后遇[auth/missing-client-identifier]错误
问题概述
从Firebase Web SDK迁移到React Native Firebase后,原正常运行的手机号认证功能出现异常,无法完成验证流程。
错误信息
Error: [auth/missing-client-identifier] This request is missing a valid app identifier, meaning that Play Integrity checks and reCAPTCHA checks were unsuccessful. Please try again, or check the logcat for more details
报错位置代码
auth().signInWithPhoneNumber(num).then((item) => { setConfirmation(item); });
环境背景
- 使用Expo裸工作流
- 问题在开发构建调试、预览APK中均会出现
- 此前Firebase项目已关联SHA256密钥且上传至EAS(Expo Application Services),原手机号登录功能正常
已尝试的无效解决方案
- 生成新SHA-256密钥并重新下载google-service.json,使用命令:
keytool -list -v -keystore "%USERPROFILE%.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android - 在Firebase控制台的App Check中注册应用,添加新旧两个SHA256密钥
- 在build.gradle中添加Play Integrity依赖:
implementation 'com.google.android.play:integrity:1.3.0' - 尝试非Play Store构建,reCAPTCHA仍无法正常工作,错误依旧
Logcat关键错误日志
Failed to initialize reCAPTCHA config: No Recaptcha Enterprise siteKey configured for tenant/project *[SmsRetrieverHelper] SMS verification code request failed: unknown status code: 18002 Invalid PlayIntegrity token; app not Recognized by Play Store. (Right, its a development build)[GetAuthDomainTask] Error getting project config. Failed with INVALID_CERT_HASH 400Failed to get reCAPTCHA token with error [There was an error while trying to get your package certificate hash.]- calling backend without app verification[SmsRetrieverHelper] SMS verification code request failed: unknown status code: 17010 null
推测与求助
推测问题与SHA密钥相关,但不确定具体原因,恳请提供可行的解决方案。
补充:环境详情、Gradle及Android配置文件可参考对应GitHub issue内容。
内容的提问来源于stack exchange,提问作者Specter123
相关产品推荐
相关产品推荐

