Firebase App Check

App Check 可防止未經授權的用戶端存取後端資源,進而保護應用程式後端免於遭到濫用。這項服務可與 Google 服務 (包括 Firebase 和 Google Cloud 服務) 和您自己的後端搭配使用,確保資源安全無虞。

有了 App Check,執行應用程式的裝置就會使用應用程式或裝置認證提供者,認證下列一或兩項:

  • 要求來自您已驗證的應用程式
  • 要求來自未經竄改的真實裝置

這項認證會附加至應用程式對您指定 API 發出的每項要求。啟用 App Check 強制執行功能後,系統會拒絕來自沒有有效認證的用戶端要求,以及來自您未授權的應用程式或平台的任何要求。

App Check 內建支援功能,可將下列服務用作認證提供者:

如果這些服務無法滿足您的需求,您也可以實作自己的服務,使用第三方認證服務供應商或您自己的認證技術。

App Check 可搭配下列 Google 服務使用:

支援的 Firebase 和 Google Cloud 服務
Data Connect (預先發布版)
Vertex AI in Firebase
Realtime Database
Cloud Firestore
Cloud Storage
Cloud Functions (可呼叫函式)
Authentication (Beta 版;需要升級至 Firebase Authentication with Identity Platform)
支援的 Google 地圖平台服務
Maps JavaScript API (預先發布版)
Places API (新版) (預先發布版)
其他支援的 Google 服務
Google Identity for iOS

您也可以使用 App Check 保護非 Google 後端資源。

瞭解如何開始使用

運作原理

為服務啟用 App Check,並在應用程式中加入用戶端 SDK 後,系統會定期執行下列操作:

  1. 應用程式會與您選擇的供應商互動,取得應用程式或裝置的真實性認證 (或兩者皆取得,視供應商而定)。
  2. 認證會傳送至 App Check 伺服器,後者會使用應用程式註冊的參數驗證認證的有效性,並傳回具有到期時間的 App Check 權杖給應用程式。這個權杖可能會保留經過驗證的認證資料相關資訊。
  3. App Check 用戶端 SDK 會在應用程式中快取權杖,隨時準備與應用程式向受保護服務提出的任何要求一併傳送。

App Check 保護的服務只會接受附帶有效的目前 App Check 權杖要求。

App Check 提供的安全性有多強?

App Check 會依據其認證服務供應商的強度,判斷應用程式或裝置的真實性。這項功能可防止部分濫用行為向後端發動攻擊,但並非所有攻擊都能防堵。使用 App Check 無法保證能完全杜絕濫用行為,但透過整合 App Check,您已朝著保護後端資源免於遭受濫用行為的目標邁進了一大步。

App CheckFirebase Authentication 是應用程式安全性策略的互補部分。Firebase Authentication 提供使用者驗證,可保護使用者;App Check 則提供應用程式或裝置真實性的認證,可保護開發人員。App Check 會要求 API 呼叫包含有效的 App Check 權杖,藉此保護 Google 後端資源和自訂後端的存取權。這兩個概念相輔相成,有助於確保應用程式的安全。

配額與限制

使用 App Check 時,必須遵守所用認證服務供應商的配額和限制。

  • DeviceCheck 和 App Attest 存取權須遵守 Apple 設定的任何配額或限制。

  • Play Integrity 的標準 API 用量層級每日配額為 10,000 個呼叫。如要瞭解如何提高用量層級,請參閱 Play Integrity 說明文件

  • SafetyNet 的每日配額為 10,000 個呼叫。如要瞭解如何要求增加配額,請參閱 SafetyNet 說明文件

  • reCAPTCHA Enterprise 每月可免費進行 10,000 次評估,超過這個數量就會產生費用。請參閱 reCAPTCHA 定價

開始使用

準備踏出第一步了嗎?

Apple 平台

DeviceCheck App Attest

Android

Play Integrity

網路

reCAPTCHA Enterprise

Flutter

預設供應商

C++

預設供應商

Unity

預設供應商

瞭解如何實作自訂 App Check 供應器

自訂供應器

瞭解如何使用 App Check 保護非 Google 後端資源

選取平台:

iOS+ Android 網頁版 Flutter