Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Mulai gunakan App Check dengan App Attest di platform Apple

Halaman ini menunjukkan cara mengaktifkan App Check di aplikasi Apple, menggunakan penyedia App Attest bawaan. Saat Anda mengaktifkan App Check, Anda membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses sumber daya Firebase proyek Anda. Lihat Ikhtisar fitur ini.

App Check menggunakan App Attest untuk memverifikasi bahwa permintaan ke layanan Firebase berasal dari aplikasi asli Anda. App Check saat ini tidak menggunakan App Attest untuk menganalisis risiko penipuan .

Jika Anda ingin menggunakan App Check dengan penyedia kustom Anda sendiri, lihat Menerapkan penyedia App Check kustom .

1. Siapkan proyek Firebase Anda

  1. Anda memerlukan Xcode 12.5+ untuk menggunakan App Attest.

  2. Tambahkan Firebase ke proyek Apple Anda jika Anda belum melakukannya.

  3. Daftarkan aplikasi Anda untuk menggunakan App Check dengan penyedia App Attest di bagian App Check di Firebase console.

    Anda biasanya perlu mendaftarkan semua aplikasi proyek Anda, karena setelah Anda mengaktifkan pemberlakuan untuk produk Firebase, hanya aplikasi terdaftar yang dapat mengakses sumber daya backend produk.

  4. Opsional : Di setelan pendaftaran aplikasi, atur time-to-live (TTL) kustom untuk token App Check yang dikeluarkan oleh penyedia. Anda dapat menyetel TTL ke nilai berapa pun antara 30 menit dan 7 hari. Saat mengubah nilai ini, perhatikan pengorbanan berikut:

    • Keamanan: TTL yang lebih pendek memberikan keamanan yang lebih kuat, karena mengurangi jendela di mana token yang bocor atau dicegat dapat disalahgunakan oleh penyerang.
    • Performa: TTL yang lebih pendek berarti aplikasi Anda akan lebih sering melakukan pengesahan. Karena proses pengesahan aplikasi menambahkan latensi ke permintaan jaringan setiap kali dijalankan, TTL singkat dapat memengaruhi kinerja aplikasi Anda.
    • Kuota dan biaya: TTL yang lebih pendek dan pengesahan ulang yang sering menghabiskan kuota Anda lebih cepat, dan untuk layanan berbayar, berpotensi lebih mahal. Lihat Kuota & batasan .

    TTL default 1 jam wajar untuk sebagian besar aplikasi. Perhatikan bahwa library App Check memperbarui token kira-kira setengah dari durasi TTL.

2. Tambahkan pustaka App Check ke aplikasi Anda

  1. Tambahkan dependensi untuk App Check ke Podfile proyek Anda :

    pod 'FirebaseAppCheck'

    Atau, sebagai alternatif, Anda dapat menggunakan Swift Package Manager sebagai gantinya.

    Pastikan Anda juga menggunakan versi terbaru SDK Firebase lain yang Anda andalkan.

  2. Jalankan pod install dan buka file .xcworkspace yang dibuat.

  3. Di Xcode, tambahkan kemampuan App Attest ke aplikasi Anda.

  4. Dalam file .entitlements proyek Anda, atur lingkungan App Attest ke production .

3. Inisialisasi Pemeriksaan Aplikasi

Anda harus menginisialisasi App Check sebelum menggunakan SDK Firebase lainnya.

Pertama, tulis implementasi AppCheckProviderFactory . Spesifik penerapan Anda akan bergantung pada kasus penggunaan Anda.

Misalnya, Jika Anda hanya memiliki pengguna di iOS 14 dan yang lebih baru, Anda dapat selalu membuat objek AppAttestProvider :

Cepat

Catatan: Produk Firebase ini tidak tersedia di target watchOS.

class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    return AppAttestProvider(app: app)
  }
}

Objective-C

Catatan: Produk Firebase ini tidak tersedia di target watchOS.

@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourSimpleAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  return [[FIRAppAttestProvider alloc] initWithApp:app];
}

@end

Atau, Anda dapat membuat objek AppAttestProvider di iOS 14 dan lebih baru, dan kembali ke DeviceCheckProvider di versi sebelumnya:

Cepat

Catatan: Produk Firebase ini tidak tersedia di target watchOS.

class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    if #available(iOS 14.0, *) {
      return AppAttestProvider(app: app)
    } else {
      return DeviceCheckProvider(app: app)
    }
  }
}

Objective-C

Catatan: Produk Firebase ini tidak tersedia di target watchOS.

@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  if (@available(iOS 14.0, *)) {
    return [[FIRAppAttestProvider alloc] initWithApp:app];
  } else {
    return [[FIRDeviceCheckProvider alloc] initWithApp:app];
  }
}

@end

Setelah Anda mengimplementasikan kelas AppCheckProviderFactory , konfigurasikan App Check untuk menggunakannya:

Cepat

Catatan: Produk Firebase ini tidak tersedia di target watchOS.

let providerFactory = YourAppCheckProviderFactory()
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

Objective-C

Catatan: Produk Firebase ini tidak tersedia di target watchOS.

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:

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:

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 .