您可以使用 App Check 保護應用程式的非 Firebase 資源,例如自行管理的後端。如要這麼做,您需要執行這兩項操作:
- 修改應用程式用戶端,以便在每個要求傳送 App Check 權杖至後端,如本頁所述。
- 修改後端,要求每項要求都必須提供有效的 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.
}
}
}