Halaman ini menunjukkan cara mengaktifkan App Check di aplikasi Apple, menggunakan penyedia App Check kustom Anda . Saat Anda mengaktifkan App Check, Anda membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses sumber daya Firebase proyek Anda.
Jika Anda ingin menggunakan App Check dengan penyedia bawaan, lihat dokumen untuk App Check dengan App Attest dan App Check dengan DeviceCheck .
Sebelum kamu memulai
Tambahkan Firebase ke proyek Apple Anda jika Anda belum melakukannya.
Terapkan logika sisi server penyedia App Check kustom Anda .
1. Tambahkan pustaka App Check ke aplikasi Anda
Tambahkan dependensi untuk App Check ke
Podfile
proyek Anda :pod 'FirebaseAppCheck'
Atau, sebagai alternatif, Anda dapat menggunakan Swift Package Manager sebagai gantinya.
Selain itu, pastikan Anda menggunakan versi terbaru pustaka klien layanan Firebase yang Anda andalkan.
Jalankan
pod install
dan buka file.xcworkspace
yang dibuat.
2. Terapkan protokol App Check
Pertama, Anda perlu membuat kelas yang mengimplementasikan protokol AppCheckProvider
dan AppCheckProviderFactory
.
Kelas AppCheckProvider
Anda harus memiliki metode getToken(completion:)
, yang mengumpulkan informasi apa pun yang diperlukan oleh penyedia App Check kustom Anda sebagai bukti keaslian, dan mengirimkannya ke layanan akuisisi token Anda dengan imbalan token App Check. App Check SDK menangani token caching, jadi selalu dapatkan token baru dalam penerapan getToken(completion:)
Anda.
Cepat
class YourCustomAppCheckProvider: NSObject, AppCheckProvider { var app: FirebaseApp init(withFirebaseApp app: FirebaseApp) { self.app = app super.init() } func getToken(completion handler: @escaping (AppCheckToken?, Error?) -> Void) { DispatchQueue.main.async { // Logic to exchange proof of authenticity for an App Check token. // ... // Create AppCheckToken object. let exp = Date(timeIntervalSince1970: expirationFromServer) let token = AppCheckToken( token: tokenFromServer, expirationDate: exp ) // Pass the token or error to the completion handler. handler(token, nil) } } }
Objective-C
@interface YourCustomAppCheckProvider : NSObject <FIRAppCheckProvider> @property FIRApp *app; - (id)initWithApp:(FIRApp *)app; @end @implementation YourCustomAppCheckProvider - (id)initWithApp:app { self = [super init]; if (self) { self.app = app; } return self; } - (void)getTokenWithCompletion:(nonnull void (^)(FIRAppCheckToken * _Nullable, NSError * _Nullable))handler { dispatch_async(dispatch_get_main_queue(), ^{ // Logic to exchange proof of authenticity for an App Check token. // ... // Create FIRAppCheckToken object. NSTimeInterval exp = expirationFromServer; FIRAppCheckToken *token = [[FIRAppCheckToken alloc] initWithToken:tokenFromServer expirationDate:[NSDate dateWithTimeIntervalSince1970:exp]]; // Pass the token or error to the completion handler. handler(token, nil); }); } @end
Selain itu, implementasikan kelas AppCheckProviderFactory
yang membuat instance implementasi AppCheckProvider
Anda:
Cepat
class YourCustomAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { return YourCustomAppCheckProvider(withFirebaseApp: app) } }
Objective-C
@interface YourCustomAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourCustomAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(FIRApp *)app { return [[YourCustomAppCheckProvider alloc] initWithApp:app]; } @end
3. Inisialisasi Pemeriksaan Aplikasi
Tambahkan kode inisialisasi berikut ke delegasi aplikasi atau penginisialisasi aplikasi Anda:
Cepat
let providerFactory = YourAppCheckProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
YourAppCheckProviderFactory *providerFactory = [[YourAppCheckProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure];
Langkah selanjutnya
Setelah library App Check diinstal di aplikasi Anda, mulailah mendistribusikan aplikasi yang telah diupdate ke pengguna Anda.
Aplikasi klien yang diperbarui akan mulai mengirimkan token App Check beserta setiap permintaan yang dibuatnya ke Firebase, tetapi produk Firebase tidak akan mengharuskan token tersebut valid hingga Anda mengaktifkan penerapan di bagian App Check di konsol Firebase.
Pantau metrik dan aktifkan penerapan
Namun, sebelum Anda mengaktifkan penerapan, Anda harus memastikan bahwa tindakan tersebut tidak akan mengganggu pengguna sah Anda yang sudah ada. Di sisi lain, jika Anda melihat penggunaan resource aplikasi yang mencurigakan, sebaiknya aktifkan penerapan lebih cepat.
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, dan Cloud Storage.
- Pantau metrik permintaan App Check untuk Cloud Functions .
Aktifkan penegakan App Check
Saat Anda memahami bagaimana App Check akan memengaruhi pengguna Anda dan Anda siap untuk melanjutkan, Anda dapat mengaktifkan penerapan App Check:
- Aktifkan penerapan App Check untuk Realtime Database, Cloud Firestore, dan Cloud Storage.
- Aktifkan penerapan App Check untuk Cloud Functions .
Gunakan App Check di lingkungan debug
Jika, setelah mendaftarkan aplikasi untuk App Check, Anda ingin menjalankan aplikasi di lingkungan yang biasanya tidak diklasifikasikan oleh App Check sebagai valid, seperti simulator selama pengembangan, atau dari lingkungan continuous integration (CI), Anda bisa buat build debug aplikasi Anda yang menggunakan penyedia debug App Check, bukan penyedia pengesahan sebenarnya.
Lihat Menggunakan Pemeriksaan Aplikasi dengan penyedia debug di platform Apple .