我们正在从Firebase Web SDK迁移到反应本机Firebase。电话认证与Web SDK配合得很好,但在迁移到反应本机Firebase之后,我们面临着这个令人沮丧的问题。
以下是错误消息:
错误:[auth/missing-client-identifier]此请求缺少有效的应用程序标识符,这意味着Play Integrity检查和reCAPTCHA检查失败。请重试,或查看日志以了解更多详细信息
错误点:
auth().signInWithPhoneNumber(num).then((item)=>{设置确认(项);});
我们正在使用expo(裸工作流),这个问题是在开发构建和预览APK中调试时发生的。我们已经有了一个与我们的消防基地项目相关的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控制台中使用SHA 256(旧版和新版)通过应用程序检查注册
- 尝试将游戏完整性添加到build.gradle->implementation“com.google.android.play:integrity:1.3.0”
- reCAPTCHA(令人惊讶的是,这不是一个play store构建)也不起作用,我们遇到了上述错误。
以下是来自logcat的错误
未能初始化reCAPTCHA配置:没有为租户/项目配置reCAPTCHA Enterprise siteKey*
[SmsRetrieverHelper]短信验证码请求失败:未知状态码:18002无效的PlayIntegrity令牌;Play Store无法识别应用程序。(对,这是一个开发版本)
[GetAuthDomainTask]获取项目配置时出错。INVALID_CERT_HASH 400失败无法获取reCAPTCHA令牌,出现错误[尝试获取包证书哈希时出错。]-调用后端而不进行应用验证
[SmsRetrieverHelper]SMS验证码请求失败:未知状态码:17010 null
这似乎与SHA键有关,但不确定或不理解其确切程度。请提出建议。
附笔:链接获取环境详细信息、gradles和android文件