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

Flutter应用集成Firebase App Check如何获取X-Firebase-AppCheck请求头

Flutter 端 Firebase App Check 对接自研后端实现指南

核心疑问解答

不需要额外进行Android/iOS原生开发,package:firebase_app_check/firebase_app_check.dart已经完整封装了SafetyNet(安卓,已废弃,推荐用Play Integrity)、App Attest(iOS)的底层校验和令牌获取逻辑,只要完成前置配置即可直接调用接口获取令牌。

客户端实现步骤

1. 激活App Check

在应用启动、完成Firebase初始化后,调用激活接口,可根据调试/生产环境配置不同的校验提供者:

import 'package:flutter/foundation.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  // 激活App Check
  await FirebaseAppCheck.instance.activate(
    // 安卓端:调试环境用debug提供者,生产环境用Play Integrity,旧项目可替换为AndroidProvider.safetyNet
    androidProvider: kDebugMode ? AndroidProvider.debug : AndroidProvider.playIntegrity,
    // iOS端:调试环境用debug提供者,生产环境用App Attest
    appleProvider: kDebugMode ? AppleProvider.debug : AppleProvider.appAttest,
  );
  runApp(const MyApp());
}

调试阶段需要在Firebase控制台填入App Check调试令牌,否则调试版本应用无法通过校验获取有效令牌

2. 获取令牌并全局添加请求头

调用FirebaseAppCheck.instance.getToken()即可获取当前平台的有效App Check令牌,SDK会自动处理令牌过期刷新,无需手动管理生命周期。
如果使用dio作为网络请求库,可通过拦截器全局添加X-Firebase-AppCheck请求头:

import 'package:dio/dio.dart';
import 'package:firebase_app_check/firebase_app_check.dart';

final dio = Dio();

// 添加App Check请求头拦截器
dio.interceptors.add(InterceptorsWrapper(
  onRequest: (options, handler) async {
    final appCheckToken = await FirebaseAppCheck.instance.getToken();
    if (appCheckToken != null) {
      options.headers['X-Firebase-AppCheck'] = appCheckToken;
    }
    return handler.next(options);
  },
));

如果使用原生http库,封装公共请求方法,每次发起请求前添加请求头即可。

全流程运行逻辑

  • 客户端激活App Check后,SDK会自动和Firebase服务器通信完成应用身份校验:安卓端通过Play Integrity/SafetyNet验证应用签名、包名和设备合法性,iOS端通过App Attest验证应用身份和设备合法性,校验通过后Firebase会下发短期有效的App Check令牌
  • 每次发起请求到自研后端前,SDK自动获取有效令牌(过期会自动刷新)并塞进请求头
  • 后端收到请求后通过Firebase Admin SDK校验X-Firebase-AppCheck头的令牌有效性,校验通过则放行请求,否则直接拦截返回非法请求错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:06:04