Firebase 應用程序檢查
App Check 可防止未經授權的客戶端訪問您的後端資源,從而幫助保護您的 API 資源免遭濫用。它可與 Firebase 服務、Google Cloud 服務和您自己的 API 配合使用,以確保您的資源安全。
通過 App Check,運行您的應用的設備將使用應用或設備證明提供程序來證明以下一項或兩項:
- 請求源自您的真實應用程序
- 請求來自真實的、未被篡改的設備
此證明附加到您的應用程序向您指定的 API 發出的每個請求。當您啟用應用程序檢查強制執行時,來自沒有有效證明的客戶端的請求將被拒絕,來自您未經授權的應用程序或平台的任何請求也將被拒絕。
App Check 內置支持使用以下服務作為證明提供程序:
- Apple 平台上的DeviceCheck或App Attest
- 在 Android 上玩 Integrity或SafetyNet (已棄用)
- Web 應用程序上的reCAPTCHA Enterprise 。
如果這些不足以滿足您的需求,您還可以使用第三方證明提供商或您自己的證明技術來實現自己的服務。
App Check 目前適用於以下 Firebase 產品:
支持的 Firebase 產品 |
---|
實時數據庫 |
雲Firestore |
雲儲存 |
雲函數(可調用函數) |
身份驗證(測試版;需要使用 Identity Platform 升級到 Firebase 身份驗證) |
您還可以使用 App Check 來保護您的非 Firebase 後端資源。
準備好開始了嗎?
它是如何工作的?
當您為服務啟用 App Check 並將客戶端 SDK 包含在您的應用程序中時,會定期發生以下情況:
- 您的應用程序與您選擇的提供商進行交互,以獲得應用程序或設備的真實性(或兩者,具體取決於提供商)的證明。
- 該證明將發送到 App Check 服務器,該服務器使用在應用程序中註冊的參數驗證證明的有效性,並向您的應用程序返回一個帶有過期時間的 App Check 令牌。該令牌可能會保留有關其驗證的證明材料的一些信息。
- App Check 客戶端 SDK 將令牌緩存在您的應用程序中,準備好與您的應用程序向受保護服務發出的任何請求一起發送。
受 App Check 保護的服務僅接受帶有當前有效 App Check 令牌的請求。
App Check 提供的安全性有多強?
App Check 依靠其證明提供商的實力來確定應用程序或設備的真實性。它可以防止一些(但不是全部)針對您後端的濫用向量。使用 App Check 並不能保證消除所有濫用,但通過與 App Check 集成,您正在朝著後端資源濫用保護邁出重要一步。
App Check 與 Firebase 身份驗證有何關係?
應用檢查和 Firebase 身份驗證是應用安全故事的補充部分。 Firebase 身份驗證提供用戶身份驗證,從而保護您的用戶,而 App Check 提供應用或設備真實性證明,從而保護您(開發者)。 App Check 通過要求 API 調用包含有效的 Firebase App Check 令牌來保護對 Firebase 資源和自定義後端的訪問。這兩個概念協同作用可幫助保護您的應用程序。
配額和限制
您對 App Check 的使用受到您使用的證明提供商的配額和限制。
DeviceCheck 和 App Attest 訪問受 Apple 設置的任何配額或限制的約束。
Play Integrity 的標準 API 使用層每日調用配額為 10,000 次。有關提高使用級別的信息,請參閱Play Integrity 文檔。
SafetyNet 的每日配額為 10,000 個呼叫。有關請求增加配額的信息,請參閱SafetyNet 文檔。
reCAPTCHA Enterprise 每月 100 萬次調用是免費的,超過此數量則需要付費。請參閱reCAPTCHA Enterprise 定價。
開始使用
準備好開始了嗎?
蘋果平台
安卓
網絡
撲
C++
統一
了解如何實施自定義 App Check 提供程序:
了解如何使用 App Check 保護您的非 Firebase 後端資源: