Halaman ini menunjukkan cara mengaktifkan App Check di aplikasi C++ menggunakan penyedia App Check kustom. Dengan mengaktifkan App Check, Anda membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses resource Firebase project Anda.
Jika Anda ingin menggunakan App Check dengan penyedia default, lihat Mengaktifkan App Check dengan penyedia default di C++.
Sebelum memulai
Tambahkan Firebase ke project C++ jika Anda belum melakukannya.
1. Tambahkan library App Check ke aplikasi
Sertakan library App Check dalam kumpulan dependensi Anda, dengan mengikuti petunjuk penyiapan untuk App Check.
2. Implementasikan antarmuka App Check
Pertama, Anda harus membuat class yang menerapkan antarmuka AppCheckProvider
dan AppCheckProviderFactory
.
Class AppCheckProvider
harus memiliki metode GetToken()
yang mengumpulkan semua informasi yang diperlukan oleh penyedia App Check kustom Anda sebagai bukti keaslian, lalu mengirimkannya ke layanan akuisisi token Anda sebagai pengganti token App Check. App Check SDK menangani penyimpanan token ke dalam cache, jadi selalu dapatkan token baru dalam penerapan GetToken()
Anda.
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");
}
};
Selain itu, terapkan class AppCheckProviderFactory
yang membuat instance dari penerapan AppCheckProvider
:
class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
AppCheckProvider* CreateProvider(App* app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
3. Melakukan inisialisasi App Check
Tambahkan kode inisialisasi berikut ke aplikasi Anda agar berjalan sebelum Anda menggunakan Firebase SDK lainnya:
firebase::app_check::AppCheck::SetAppCheckProviderFactory(
YourCustomAppCheckProviderFactory::GetInstance());
Langkah berikutnya
Setelah library App Check terinstal di aplikasi Anda, mulai distribusikan aplikasi yang telah diupdate kepada pengguna.
Aplikasi klien yang telah diupdate akan mulai mengirimkan token App Check beserta setiap permintaan yang dibuatnya ke Firebase. Namun, sebelum Anda mengaktifkan penerapan di bagian App Check di Firebase console, token tersebut tidak harus valid untuk produk Firebase.
Memantau metrik dan mengaktifkan penerapan
Sebelum mengaktifkan penerapan, Anda harus memastikan bahwa tindakan tersebut tidak akan mengganggu pengguna sah yang sudah ada. Di sisi lain, jika Anda melihat penggunaan resource aplikasi yang mencurigakan, sebaiknya segera aktifkan penerapan.
Untuk membantu membuat keputusan ini, Anda dapat melihat metrik App Check untuk layanan yang Anda gunakan:
- Pantau metrik permintaan App Check untuk Realtime Database, Cloud Firestore, Cloud Storage, dan Authentication (beta).
- Pantau metrik permintaan App Check untuk Cloud Functions.
Mengaktifkan penerapan App Check
Setelah memahami pengaruh App Check terhadap pengguna dan siap melanjutkan, Anda dapat mengaktifkan penerapan App Check:
- Aktifkan penerapan App Check untuk Realtime Database, Cloud Firestore, Cloud Storage, dan Authentication (beta).
- Aktifkan penerapan App Check untuk Cloud Functions.
Menggunakan App Check di lingkungan debug
Jika Anda telah mendaftarkan aplikasi untuk App Check lalu ingin menjalankan aplikasi di lingkungan yang biasanya tidak akan diklasifikasikan sebagai valid oleh App Check, seperti emulator selama pengembangan atau dari lingkungan continuous integration (CI), Anda dapat membuat build debug aplikasi yang menggunakan penyedia debug App Check, bukan penyedia pengesahan sungguhan.
Lihat Menggunakan App Check dengan penyedia debug di C++.