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