查看 2022 年 Google I/O 大会上介绍的 Firebase 新动态。了解详情

使用 App Check 保护非 Firebase 资源

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

您可以使用 App Check 保护应用的非 Firebase 资源,例如自托管后端。为此,您需要执行以下两项操作:

  • 如本页所述,修改您的应用客户端以将应用检查令牌与每个请求一起发送到您的后端。
  • 修改您的后端,以在每个请求中都需要一个有效的 App Check 令牌,如从自定义后端验证 App Check 令牌中所述

在你开始之前

使用默认提供程序将 App Check 添加到您的应用程序。

使用后端请求发送 App Check 令牌

为确保您的后端请求包含有效的、未过期的 App Check 令牌,请在每个请求之前调用getToken() 。如有必要,App Check 库将刷新令牌。

获得有效令牌后,将其与请求一起发送到后端。具体如何完成此操作取决于您,但不要将 App Check 令牌作为 URL 的一部分发送,包括在查询参数中,因为这会使它们容易受到意外泄漏和拦截。推荐的方法是在自定义 HTTP 标头中发送令牌。

例如:

void callApiExample() async {
    final appCheckToken = await FirebaseAppCheck.instance.getToken();
    if (appCheckToken != null) {
        final response = await http.get(
            Uri.parse("https://yourbackend.example.com/yourExampleEndpoint"),
            headers: {"X-Firebase-AppCheck": appCheckToken},
        );
    } else {
        // Error: couldn't get an App Check token.
    }
}