You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中Firebase Auth PhoneAuth移除reCAPTCHA失败求助(已配置App Check)

移除Flutter Firebase PhoneAuth的reCAPTCHA验证方案

1. 补全App Check的完整配置

你已启用Play Integrity,但需确认以下细节:

  • 在Firebase控制台App Check页面,Android应用已正确关联Play Integrity,且完成所有验证步骤(如上传应用签名证书的SHA-256指纹,确保应用包名与控制台注册完全一致)
  • 正式版应用必须通过Google Play渠道发布/安装,Play Integrity才能正常验证

2. 调整App Check的环境适配逻辑

调试环境下(直接通过Android Studio运行),Play Integrity无法完成验证,需切换到Debug Provider,否则仍会触发reCAPTCHA:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  await FirebaseAppCheck.instance.activate(
    webRecaptchaSiteKey: 'recaptcha-v3-site-key',
    // 根据环境自动切换Provider
    androidProvider: kDebugMode ? AndroidProvider.debug : AndroidProvider.playIntegrity,
  );
  await GetStorage.init();
  runApp(const MyApp());
}

调试环境额外操作:在Firebase控制台App Check页面添加调试设备的SHA-256指纹,获取命令:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

3. 检查Firebase Auth配置与依赖版本

  • 进入Firebase控制台Authentication > Sign-in method,确认Phone认证已启用,无额外限制规则
  • 更新pubspec.yaml中Firebase依赖到最新稳定版:
firebase_core: ^latest_version
firebase_auth: ^latest_version
firebase_app_check: ^latest_version

4. 排查验证失败场景

reCAPTCHA触发的核心原因是App Check验证未通过,可通过以下方式排查:

  • 查看Logcat日志,搜索FirebaseAppCheck或FirebaseAuth关键词,确认是否有验证失败的错误信息
  • 正式版测试需上传至Google Play内部测试/封闭测试渠道,安装后再测试PhoneAuth功能

内容的提问来源于stack exchange,提问作者Gautam Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 10:42:37