本頁面說明如何使用內建的 DeviceCheck 供應器,在 Apple 應用程式中啟用 App Check。啟用 App Check 有助於確保只有您的應用程式可以存取專案的 Firebase 資源。查看這項功能的總覽。
如要搭配自訂供應器使用 App Check,請參閱「實作自訂 App Check 供應器」。
1. 設定 Firebase 專案
如果您尚未將 Firebase 新增至 Apple 專案,請先新增。
在 Apple 開發人員網站上,建立 DeviceCheck 私密金鑰。
在 Firebase 控制台中,依序前往「Security」(安全性) >「App Check」。
在「Apps」(應用程式) 分頁中,註冊應用程式,以便透過 DeviceCheck 供應商使用 App Check。您必須提供在 Apple 開發人員網站建立的私密金鑰。
您通常需要註冊專案的所有應用程式,因為一旦啟用 Firebase 產品的強制執行功能,只有註冊的應用程式才能存取產品的後端資源。
選用:設定權杖存留時間 (TTL)。
在應用程式註冊設定中,為供應商核發的 App Check 權杖設定自訂存留時間 (TTL)。您可以將存留時間設為 30 分鐘到 7 天之間的任何值。變更這個值時,請注意下列取捨:
- 安全性:存留時間越短,安全性越高,因為這會縮短外洩或遭攔截的權杖可能遭攻擊者濫用的時間。
- 效能:存留時間越短,應用程式執行認證的頻率就越高。由於每次執行應用程式認證程序時,都會增加網路要求的延遲時間,因此 TTL 較短可能會影響應用程式的效能。
- 配額和費用:存留時間較短和頻繁重新認證會更快耗盡配額,如果是付費服務,費用可能會更高。請參閱「配額與限制」。
預設存留時間為 1 小時,適用於大多數應用程式。請注意,App Check 程式庫會在存留時間約過一半時重新整理權杖。
2. 將 App Check 程式庫新增至應用程式
使用 Swift Package Manager 安裝及管理 Firebase 依附元件。
在 Xcode 中開啟應用程式專案,依序點選「File」>「Add Packages」,新增 Firebase Apple 平台 SDK 存放區 (
https://github.com/firebase/firebase-ios-sdk),然後選擇「FirebaseAppCheck」程式庫。
後續步驟
在應用程式中安裝 App Check 程式庫後,請開始向使用者發布更新後的應用程式。
更新後的用戶端應用程式會開始在向 Firebase 提出的每項要求中,一併傳送 App Check 權杖,但 Firebase 產品不會要求權杖必須有效,除非您在 Firebase 控制台的「App Check」部分啟用強制執行功能。
監控指標並啟用強制執行
不過,在啟用強制執行之前,請務必確認這樣做不會干擾現有的合法使用者。另一方面,如果發現應用程式資源有可疑的使用情形,建議您盡快啟用強制執行功能。
為協助您做出這項決定,您可以查看所用服務的 App Check 指標:
- 監控 App Check 要求指標:Firebase AI Logic、SQL Connect、Realtime Database、Cloud Firestore、Cloud Storage、Authentication、Google Identity for iOS、Maps JavaScript API 和 Places API (新版)。
- 監控 Cloud Functions 的 App Check 要求指標。
啟用App Check違規處置
瞭解 App Check 對使用者的影響,並準備好繼續操作後,即可啟用 App Check 強制執行:
- 啟用 App Check 違規處置:Firebase AI Logic、SQL Connect、Realtime Database、Cloud Firestore、Cloud Storage、Authentication、Google Identity for iOS、Maps JavaScript API 和 Places API (新版)。
- 為 Cloud Functions 啟用 App Check 違規處置。
在偵錯環境中使用 App Check
為應用程式註冊 App Check 後,如果您想在 App Check 通常不會歸類為有效的環境中執行應用程式,例如開發期間的模擬器,或持續整合 (CI) 環境,可以建立應用程式的偵錯版本,使用 App Check 偵錯服務,而非實際認證服務。
請參閱「在 Apple 平台搭配偵錯服務使用 App Check」。