使用 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.
    }
}