了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

開始在 Apple 平台上使用 App Check 和 DeviceCheck

本頁向您展示如何使用內置的 DeviceCheck 提供程序在 Apple 應用程序中啟用 App Check。啟用應用檢查後,您可以幫助確保只有您的應用可以訪問項目的 Firebase 資源。請參閱此功能的概述

如果您想將 App Check 與您自己的自定義提供程序一起使用,請參閱實施自定義 App Check 提供程序

1. 設置您的 Firebase 項目

  1. 如果您尚未將 Firebase 添加到您的 Apple 項目中,請將其添加到您的 Apple 項目中

  2. 在 Apple 開發人員網站上,創建一個 DeviceCheck 私鑰

  3. 在 Firebase 控制台的App Check部分中通過 DeviceCheck 提供商註冊您的應用以使用 App Check。您需要提供您在上一步中創建的私鑰。

    您通常需要註冊項目的所有應用,因為一旦為 Firebase 產品啟用強制執行,只有註冊的應用才能訪問該產品的後端資源。

  4. 可選:在應用程序註冊設置中,為提供商頒發的應用程序檢查令牌設置自定義生存時間 (TTL)。您可以將 TTL 設置為 30 分鐘到 7 天之間的任意值。更改此值時,請注意以下權衡:

    • 安全性:較短的 TTL 提供更強的安全性,因為它減少了攻擊者濫用洩露或攔截的令牌的窗口。
    • 性能:較短的 TTL 意味著您的應用程序將更頻繁地執行證明。由於應用程序證明過程會在每次執行時增加網絡請求的延遲,因此較短的 TTL 可能會影響應用程序的性能。
    • 配額和成本:較短的 TTL 和頻繁的重新認證會更快地耗盡您的配額,對於付費服務,可能會花費更多。請參閱配額和限制

    對於大多數應用程序來說,默認 TTL 1 小時是合理的。請注意,App Check 庫會在大約 TTL 持續時間的一半時刷新令牌。

2. 將 App Check 庫添加到您的應用程序中

  1. 將 App Check 的依賴項添加到項目的Podfile中:

    pod 'FirebaseAppCheck'

    或者,您也可以使用Swift Package Manager

    確保您還使用您依賴的任何 Firebase 服務客戶端庫的最新版本。

  2. 運行pod install並打開創建的.xcworkspace文件。

下一步

在您的應用程序中安裝 App Check 庫後,開始向您的用戶分發更新的應用程序。

更新後的客戶端應用程序將開始隨其向 Firebase 發出的每個請求一起發送 App Check 令牌,但在您在 Firebase 控制台的 App Check 部分中啟用強制執行之前,Firebase 產品不會要求令牌有效。

監控指標並啟用執行

但是,在啟用強制執行之前,您應該確保這樣做不會干擾您現有的合法用戶。另一方面,如果您發現應用程序資源的可疑使用,您可能希望盡快啟用強制執行。

為了幫助做出此決定,您可以查看您使用的服務的 App Check 指標:

啟用應用程序檢查強制執行

當您了解 App Check 將如何影響您的用戶並且準備好繼續操作時,您可以啟用 App Check 強制執行:

在調試環境中使用 App Check

如果在為 App Check 註冊您的應用程序後,您希望在 App Check 通常不會歸類為有效的環境中運行您的應用程序,例如開發期間的模擬器,或在持續集成 (CI) 環境中,您可以創建應用程序的調試版本,該版本使用 App Check 調試提供程序而不是真正的證明提供程序。

請參閱在 Apple 平台上使用 App Check 與調試提供程序