Mengimplementasikan Firebase App Check untuk melindungi API dari klien yang tidak sah

Saat Anda memanggil API langsung dari aplikasi seluler atau web (misalnya, API yang memungkinkan akses ke model AI generatif), API tersebut rentan terhadap penyalahgunaan oleh klien yang tidak sah. Untuk membantu melindungi API ini, Anda dapat menggunakan Firebase App Check untuk memverifikasi bahwa semua panggilan API yang masuk berasal dari aplikasi Anda yang sebenarnya.

Firebase AI Logic menyediakan gateway proxy yang memungkinkan Anda berintegrasi dengan Firebase App Check dan melindungi API model AI generatif yang dipanggil oleh aplikasi seluler dan web Anda. Integrasi dengan App Check didukung untuk Gemini Developer API dan Vertex AI Gemini API saat Anda menggunakan SDK Firebase AI Logic. Anda dapat melindungi model Gemini dan Imagen.

Ringkasan umum tentang cara kerja App Check

Dengan App Check, perangkat yang menjalankan aplikasi Anda menggunakan penyedia pengesahan aplikasi atau perangkat yang memverifikasi salah satu atau kedua hal berikut:

  • Permintaan berasal dari aplikasi asli milik Anda
  • Permintaan berasal dari perangkat asli yang tidak dimodifikasi

Pengesahan ini dilampirkan ke setiap permintaan yang dibuat aplikasi Anda menggunakan Firebase AI Logic SDK. Saat Anda mengaktifkan penerapan App Check, permintaan dari klien tanpa pengesahan yang valid akan ditolak, begitu juga permintaan yang berasal dari aplikasi atau platform yang belum Anda beri otorisasi.

Temukan informasi mendetail di dokumentasi Firebase App Check.

Penyedia dan petunjuk penerapan yang tersedia

App Check memiliki dukungan bawaan untuk menggunakan layanan berikut sebagai penyedia pengesahan. Klik link penyedia untuk melihat dokumentasi App Check untuk penyedia tersebut, termasuk deskripsi dan petunjuk penerapan.

Jika penyedia ini tidak memadai untuk kebutuhan Anda, Anda juga dapat menerapkan layanan Anda sendiri yang menggunakan penyedia pengesahan pihak ketiga atau teknik pengesahan Anda sendiri (untuk detail selengkapnya, lihat dokumentasi App Check).

Pembuatan instance khusus diperlukan untuk Flutter

Klik penyedia Gemini API untuk melihat konten dan kode khusus penyedia di halaman ini.

Saat menggunakan App Check dengan Firebase AI Logic di aplikasi Flutter, Anda harus meneruskan App Check secara eksplisit selama pembuatan instance, seperti ini:

final ai = await FirebaseAI.googleAI(appCheck: FirebaseAppCheck.instance)
  .generativeModel(model: 'MODEL_NAME');

Informasi tambahan tentang App Check

Memahami cara Firebase AI Logic berintegrasi dengan App Check

Untuk menggunakan Firebase AI Logic SDK, Firebase AI Logic API (firebasevertexai.googleapis.com) harus diaktifkan di project Firebase Anda. Hal ini karena permintaan yang dibuat oleh Firebase AI Logic SDK pertama kali dikirim ke server Firebase AI Logic, yang berfungsi sebagai gateway proxy tempat verifikasi Firebase App Check berlangsung sebelum permintaan diizinkan untuk melanjutkan ke backend penyedia "Gemini API" yang Anda pilih dan API untuk mengakses model Gemini dan Imagen.