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

Saat Anda memanggil API secara 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 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 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 pada setiap permintaan yang dibuat aplikasi Anda menggunakan SDK Firebase AI Logic. 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 yang tersedia dan petunjuk penerapan

App Check memiliki dukungan bawaan untuk menggunakan layanan berikut sebagai penyedia pengesahan. Klik link penyedia untuk melihat dokumentasi App Check 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 mengetahui detail selengkapnya, lihat dokumentasi App Check).

Instansiasi 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 berikut:

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 SDK Firebase AI Logic, Firebase AI Logic API (firebasevertexai.googleapis.com) harus diaktifkan di project Firebase Anda. Hal ini karena permintaan yang dibuat oleh SDK Firebase AI Logic dikirimkan terlebih dahulu ke server Firebase AI Logic, yang bertindak sebagai gateway proxy tempat verifikasi Firebase App Check dilakukan sebelum permintaan diizinkan untuk dilanjutkan ke backend penyedia "Gemini API" yang Anda pilih dan API untuk mengakses model Gemini dan Imagen.