本頁面將說明如何使用 內建 SafetyNet 供應商啟用 App Check 之後,您就能確保 只有您的應用程式可以存取專案的 Firebase 資源。查看 這項功能的總覽。
如要將 App Check 與自訂服務供應商搭配使用,請參閱 導入自訂 App Check 供應商。
1. 設定 Firebase 專案
將 Firebase 新增至您的 Android 專案 (如果您尚未這麼做) 已完成其他驗證步驟
在以下位置註冊應用程式,以便搭配 SafetyNet 供應商使用 App Check: App Check (應用程式檢查) Firebase 控制台。您需要提供 SHA-256 指紋 應用程式的簽署憑證
通常您需要註冊專案的所有應用程式,因為 允許對 Firebase 產品強制執行;只有已註冊的應用程式可以 存取產品的後端資源
選用:在應用程式註冊設定中自訂存留時間 (存留時間),適用於供應商核發的 App Check 權杖。您可以設定存留時間 設為 30 分鐘至 7 天之間的任何值。變更這個值時, 瞭解下列優缺點:
- 安全性:較短的存留時間可提高安全性,因為這麼做能減少 出現安全漏洞,可能導致權杖遭到洩漏或攔截 攻擊者
- 效能:縮短存留時間 (TTL) 越短,應用程式就越能執行認證 經常更新因為應用程式認證程序會增加網路延遲時間 因此短暫的存留時間 (TTL) 可能會影響效能
- 配額與費用:縮短存留時間 (TTL) 和頻繁的重新認證作業,皆會破壞您的 配額更快,而如果是付費服務,費用可能會增加。 請參閱配額與上限。
預設存留時間 1 小時 對大多數應用程式而言都是合理的做法。請注意,系統會重新整理 App Check 程式庫 權杖的 75 倍。
2. 在應用程式中加入 App Check 程式庫
在模組 (應用程式層級) Gradle 檔案 (通常是 app/build.gradle
) 中宣告
Android App Check 程式庫的依附元件:
dependencies {
implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.2'
}
3. 初始化 App Check
將下列初始化程式碼新增至應用程式,讓應用程式在使用前執行 其他 Firebase SDK:
Kotlin+KTX
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
SafetyNetAppCheckProviderFactory.getInstance()
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
SafetyNetAppCheckProviderFactory.getInstance());
後續步驟
在應用程式中安裝 App Check 程式庫後,即可開始發布 為使用者提供了最新的應用程式
更新後的用戶端應用程式會開始傳送 App Check 權杖和 但 Firebase 產品不需要權杖 您必須在 Firebase 控制台。
監控指標並啟用強制執行功能
不過,啟用強制執行功能之前,請先確認這項操作不會 幹擾現有的合法使用者另一方面,如果您發現 如果您對應用程式資源都很可疑,不妨啟用強制執行功能
為做出這項決定,您可以查看 App Check 指標: 您使用的服務:
- 監控 App Check 要求指標: 即時資料庫、Cloud Firestore、Cloud Storage 和驗證 (Beta 版)。
- 監控 Cloud Functions 的 App Check 要求指標。
啟用強制執行 App Check
瞭解 App Check 對使用者的影響後,您就能做好準備 下一步,您可以啟用 App Check 強制執行功能:
- 啟用 App Check 強制執行功能: 即時資料庫、Cloud Firestore、Cloud Storage 和驗證 (Beta 版)。
- 啟用 Cloud Functions 的 App Check 強制執行功能。
在偵錯環境中使用 App Check
只要在應用程式註冊 App Check 後, 應用程式所在的環境中,App Check 通常不會歸類為有效應用程式。 例如開發期間的模擬器,或從持續整合 (CI) 擷取而來 您就能為應用程式建立偵錯版本,該應用程式會使用 App Check 偵錯供應器,而非真正的認證提供者。
請參閱「搭配 Android 偵錯供應商使用 App Check」一文。