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

Firebase App Check拦截所有Android设备请求的排查求助

Firebase App Check Android端请求拦截问题排查

问题概况

  • Flutter项目配置Firebase App Check后,iOS设备可正常访问Realtime Database和Cloud Functions,但Android设备请求被拦截
  • 已使用Google Play Console生成的SHA-256证书指纹配置到Firebase,且Firebase后台显示Android应用已注册
  • 本地无报错信息,仅在Firebase App Check请求指标中看到「未验证:无效请求」
  • Cloud Functions日志输出:Callable request verification passed {"verifications":{"auth":"MISSING","app":"MISSING"}}

排查步骤

1. 确认SHA-256指纹覆盖所有场景

  • 除了Google Play Console的发布版指纹,本地调试用的debug版SHA-256也需添加到Firebase App Check配置。在Android项目根目录运行./gradlew signingReport获取debug指纹,检查是否已在Firebase后台添加。
  • 若使用App Bundle发布,需确认配置的是Google Play的App Signing指纹(而非上传密钥指纹),开发者常误将上传密钥指纹当成App Signing指纹,导致发布后验证失败。

2. 完善App Check激活代码的平台适配

当前代码未指定Android端Provider,需明确配置:

void main() async {
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

  await FirebaseAppCheck.instance.activate(
    // 调试阶段用AndroidProvider.debug,发布版必须用playIntegrity
    androidProvider: AndroidProvider.playIntegrity,
  );

  runApp(MyApp());
}

3. 验证Cloud Functions的App Check配置

确认Cloud Functions已启用App Check验证:

  • Callable函数需在初始化时开启验证:
    const { onCall } = require("firebase-functions/v2/https");
    const { getAppCheck } = require("firebase-admin/app-check");
    
    getAppCheck();
    exports.yourFunction = onCall({ enforceAppCheck: true }, (request) => {
      // 函数逻辑
    });
    

日志中"app":"MISSING"说明请求未携带有效App Check令牌,或令牌未被正确验证。

4. 检查AndroidManifest配置

确保添加Play Integrity所需权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.gms.permission.PLAY_SERVICES_AUTH" />

同时确认Google Play Console已关联Firebase项目,且启用了Play Integrity API。

5. 调试模式下验证

  • 在Firebase App Check后台为Android应用添加调试设备,运行App后查看Logcat,找到类似AppCheck debug token: XXXXX的日志,将该令牌添加到Firebase调试令牌列表,测试请求是否通过。若调试模式正常,说明发布版的指纹或Provider配置存在问题。

6. 更新Firebase SDK版本

确认flutter项目中firebase_core、firebase_app_check、cloud_functions等依赖为最新稳定版,旧版本可能存在兼容性问题,运行flutter pub upgrade更新依赖。

内容的提问来源于stack exchange,提问作者Stewie Griffin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:03:39