错误:[auth/missing-client-identifier] 此请求缺少有效的应用程序标识符,Play 完整性检查和 reCAPTCHA 检查不成功

问题描述 投票:0回答:2

我们正在从 Firebase Web SDK 迁移到响应本机 Firebase。电话身份验证与 Web SDK 配合良好,但是在迁移到 React 原生 Firebase 后,我们面临着这个令人沮丧的问题。

这是错误消息:

错误:[auth/missing-client-identifier] 此请求缺少有效的应用程序标识符,这意味着 Play 完整性检查和 reCAPTCHA 检查不成功。请重试,或检查 logcat 了解更多详细信息

错误点:

auth().signInWithPhoneNumber(num).then((item) => {
    setConfirmation(item);
  });

我们正在使用 expo(裸工作流程),在开发版本以及预览 APK 中进行调试时会出现此问题。我们已经有一个与我们的 firebase 项目关联的 SHA256,相同的密钥也上传到 EAS(Expo 应用程序服务)。我们之前在电话登录方面没有遇到任何问题。

  • 我们尝试添加新的 SHA-256,重新下载 google-service.json。 使用此命令 keytool -list -v -keystore "%USERPROFILE%.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android) 但问题仍然存在。
  • 应用程序已在 Firebase 控制台中使用 SHA 256(旧的和新的)通过应用程序检查进行注册
  • 尝试将游戏完整性添加到 build.gradle -> 实现 'com.google.android.play:integrity:1.3.0'
  • reCAPTCHA(令人惊讶的是,这不是 Play 商店版本)也不起作用,我们收到了上述错误。

这是 logcat 的错误

  • 无法初始化 reCAPTCHA 配置:没有为租户/项目配置 Recaptcha Enterprise siteKey *

  • [SmsRetrieverHelper] 短信验证码请求失败:未知状态码:18002 无效的 PlayIntegrity 令牌;应用程序无法被 Play 商店识别。 (对,它是一个开发版本)

  • [GetAuthDomainTask] 获取项目配置时出错。失败并显示 INVALID_CERT_HASH 400 无法获取 reCAPTCHA 令牌并出现错误 [尝试获取包证书哈希时发生错误。]- 在没有应用程序验证的情况下调用后端

  • [SmsRetrieverHelper]短信验证码请求失败:未知状态码:17010 null

它似乎与 SHA 密钥有关,但不确定或不明白到底是如何的。 请指教。

附注:链接获取环境详细信息、gradle 和 android 文件

firebase react-native firebase-authentication recaptcha react-native-firebase
2个回答
0
投票

您的 SHA-1 和 SHA-256 指纹可能已被更改, 打开 Google Play Console,然后选择您想要的应用程序,然后您可以在“发布”>“设置”>“应用程序完整性”下找到“Play 应用程序签名”页面,然后在“项目设置”下将新指纹添加到您的 firebase。


0
投票

我只添加了 SHA-256,它与其他库一起工作得很好,认为一个指纹就足够了,但是在添加 SHA-1 后,它开始按预期工作。

他们应该在文档中详细提到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.