我正在使用 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 的特定配置? 任何有关解决此问题的指导或见解将不胜感激,因为这对于我的应用程序中的身份验证过程至关重要。
找到解决办法了吗?我也面临着同样的问题。