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 disalahgunakan 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. Penggunaan App Check dengan SDK Firebase AI Logic mendukung semua konfigurasi kami:

  • Melindungi kedua penyedia "Gemini API": Gemini Developer API dan Vertex AI Gemini API.

  • Melindungi semua model yang didukung, baik model Gemini maupun model 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.

Anda dapat menemukan informasi mendetail tentang App Check dalam dokumentasinya, termasuk kuota dan batasnya.

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, // for Flutter, pass in App Check explicitly
);

// ...

Memahami cara Firebase AI Logic berintegrasi dengan App Check

Untuk menggunakan SDK Firebase AI Logic, API Firebase AI Logic (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.