SuperAPI AI 工具集

firebase-app-check

通用与其它

查看项目

更新于 10-15 23:41

技能介绍

用途:在 Flutter 项目中正确接入 Firebase App Check,完成证明提供方选择、调试配置、强制启用与安全加固。

主要能力:支持按平台选择证明提供方。Android 生产用 AndroidProvider.playIntegrity,开发/CI 用 AndroidProvider.debug;Apple 生产默认 AppleProvider.deviceCheck,可选 appAttest 或 appAttestWithDeviceCheckFallback,开发用 AppleProvider.debug;Web 用 ReCaptchaV3Provider 或 ReCaptchaEnterpriseProvider。支持自定义 TTL、令牌刷新监听与调试令牌注册。

使用方式:先执行 flutter pub add firebase_app_check,导入 package:firebase_app_check/firebase_app_check.dart,在 Firebase.initializeApp() 之后、使用任何 Firebase 服务之前调用 FirebaseAppCheck.instance.activate(...)。调试令牌:iOS 在 Xcode 启动参数加 -FIRDebugEnabled;Android 首次运行在 logcat 按 DebugAppCheckProvider 过滤;Web 在 index.html 中 Firebase 脚本加载前设置 self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;。随后在 Firebase 控制台 App Check > Apps > Manage debug tokens 注册令牌。自定义后端可用 onTokenChange 监听令牌。

适用场景:需要客户端证明、防止滥用 Firebase 资源的 Flutter 应用,以及开发、测试与 CI 环境。

限制与注意:生产构建不得使用调试提供方或共享调试令牌,调试令牌需保密并及时吊销。Apple 平台若在 AppDelegate 原生调用 FirebaseApp.configure(),需在 configure() 前安装 AppCheckProviderFactory,否则 appleProvider 会被静默忽略。强制启用应逐步推进,先部署激活代码、监控指标,再从非关键服务开始。App Check 令牌约在 TTL 一半时自动刷新。关键操作建议结合 Firebase Admin SDK 做服务端验证。Android 部分设备需在 Google Play 控制台启用“Meets basic device integrity”。