本頁面說明如何使用 您的 自訂 App Check 供應商。如果啟用 App Check 可確保只有您的應用程式可以存取專案的 Firebase 資源。
如要搭配預設供應商使用 App Check,請參閱 使用 C++ 透過預設供應商啟用 App Check。
事前準備
將 Firebase 新增至您的 C++ 專案 (如果尚未這麼做) 已完成其他驗證步驟
1. 在應用程式中加入 App Check 程式庫
在一組依附元件中加入 App Check 程式庫,如下所示: App Check 的設定操作說明。
2. 實作 App Check 介面
首先,您需要建立實作 AppCheckProvider
的類別,並
AppCheckProviderFactory
介面。
AppCheckProvider
類別必須包含 GetToken()
方法,該方法會收集
您自訂 App Check 供應商需要的任何資訊做為證明
並傳送給您的權杖開發服務
App Check 權杖。App Check SDK 會處理權杖快取,因此請一律取得
您在 GetToken()
實作中的新權杖。
class YourCustomAppCheckProvider : public AppCheckProvider {
void GetToken(std::function<void(AppCheckToken, int, const std::string&)>
completion_callback) {
// Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
// Create AppCheckToken object.
AppCheckToken appCheckToken;
appCheckToken.token = token;
appCheckToken.expire_time_millis = expireTime;
completion_callback(appCheckToken, 0, "");
// Or, if needing to return an error
//completion_callback({}, error_code, "Error description");
}
};
同時實作 AppCheckProviderFactory
類別,以建立應用程式的執行個體
AppCheckProvider
實作:
class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
AppCheckProvider* CreateProvider(App* app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
3. 初始化 App Check
將下列初始化程式碼新增至應用程式,讓應用程式在使用前執行 其他 Firebase SDK:
firebase::app_check::AppCheck::SetAppCheckProviderFactory(
YourCustomAppCheckProviderFactory::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 偵錯供應器,而非真正的認證提供者。
請參閱「搭配偵錯提供者使用 App Check」一文。