使用 App Check 保護非 Firebase 資��

您可以保護應用程式的非 Firebase 資源,例如自行管理的後端。 與 App Check 整合如要這麼做,您需要執行這兩項操作:

  • 修改應用程式用戶端,傳送 App Check 權杖和每個要求 如本頁所述,將 VM 傳送至您的後端。
  • 修改後端,在每次要求中要求有效的 App Check 權杖。 ,詳情請參閱「從自訂後端驗證 App Check 權杖」一文。

事前準備

使用預設供應商,將 App Check 加入應用程式。

透過後端要求傳送 App Check 權杖

為確保後端要求包含有效、未過期的 App Check 權杖, 前面加上 AppCheck::GetAppCheckToken() 的呼叫。應用程式 檢查程式庫會視需要重新整理權杖。

取得有效的權杖後,請將該權杖與要求傳送至後端。 您可以自行決定要如何完成這項作業,但請勿傳送 App Check 權杖是網址的一部分,包括查詢參數中,因為 容易造成意外的資料外洩和攔截建議使用 方法是在自訂 HTTP 標頭中傳送權杖。

例如:

void CallApiExample() {
    firebase_app_check::AppCheck* app_check = firebase::app_check::AppCheck::GetInstance();
    Future<std::string> app_check_future = app_check->GetAppCheckToken(false);
    app_check_future.OnCompletion([&](const Future<std::string>& future_token) {
        if (future_token.result()) {
            // Got a valid App Check token. Include it in your own http calls.
        }
    }
}