使用 Flutter 进行 Firebase 电话身份验证:生产中的 reCAPTCHA 配置问题

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

我正在使用 Firebase 在我的 Flutter 应用程序中实现电话身份验证。该应用已在 Google Play 上发布,我已在 Firebase 项目中配置了签名密钥,将 Google Cloud 项目链接到 Play Integrity,并在 Firebase 项目中提供了用于开发目的的调试令牌。

但是,我在身份验证过程中遇到了 reCAPTCHA 问题。我收到错误消息,表明 reCAPTCHA 尚未正确初始化。以下是相关日志:

  E/zzb     (22098): Failed to initialize reCAPTCHA config: No Recaptcha Enterprise siteKey configured for tenant/project
  E/FirebaseAuth(22098): [SmsRetrieverHelper] SMS verification code request failed: unknown status code: 18002 Invalid PlayIntegrity token; app not Recognized by Play Store.
  E/zzb     (22098): Failed to get reCAPTCHA token with error [There was an internal error in the web widget. {"code":"auth/internal-error","message":"Requests from this Android client application <empty> are blocked."}]```

I have already included the necessary dependencies in my app's build.gradle file:

实施平台('com.google.firebase:firebase-bom:32.8.0') 实现('com.google.firebase:firebase-appcheck-playintegrity') 实现(“com.google.firebase:firebase-appcheck-debug”)```

我的初始化代码如下所示:

if (!foundation.kIsWeb) {
  await FirebaseAppCheck.instance.activate(
    androidProvider: AndroidProvider.playIntegrity,
    appleProvider: AppleProvider.appAttest,
    webProvider: ReCaptchaV3Provider(kWebRecaptchaSiteKey),
  );
} else {
  await FirebaseAppCheck.instance.activate(
    androidProvider: AndroidProvider.debug,
    appleProvider: AppleProvider.debug,
    webProvider: ReCaptchaV3Provider(kWebRecaptchaSiteKey),
  );
}

kWebRecaptchaSiteKey 也在我的代码中定义。尽管如此,我仍然遇到 reCAPTCHA 初始化错误,这似乎表明该过程中的某个地方配置错误。

问题:

如何在 Google Play 上发布的 Flutter 应用中正确配置 reCAPTCHA 以进行 Firebase 电话身份验证? 在为我的 Firebase 项目或 Flutter 应用程序本身设置 reCAPTCHA Enterprise 时,我是否可能错过了某个步骤? 鉴于错误日志,我是否需要在 Firebase 控制台或 Google Cloud Platform 中调整 siteKey 的特定配置? 任何有关解决此问题的指导或见解将不胜感激,因为这对于我的应用程序中的身份验证过程至关重要。

android flutter firebase google-cloud-platform google-play
1个回答
-1
投票

找到解决办法了吗?我也面临着同样的问题。

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