Halaman ini menunjukkan cara mengaktifkan App Check di aplikasi web menggunakan penyedia reCAPTCHA Enterprise. Mengaktifkan App Check akan membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses resource backend project Anda. Lihat Ringkasan fitur ini.
Perhatikan bahwa App Check menggunakan kunci situs berbasis skor reCAPTCHA Enterprise, sehingga tidak terlihat oleh pengguna. Penyedia reCAPTCHA Enterprise tidak mengharuskan pengguna untuk menyelesaikan tantangan kapan saja.
Jika kasus penggunaan Anda memerlukan fitur reCAPTCHA Enterprise yang tidak diterapkan oleh App Check, atau jika Anda ingin menggunakan App Check dengan penyedia kustom Anda sendiri, baca Menerapkan penyedia App Check kustom.
1. Menyiapkan project Firebase Anda
Tambahkan Firebase ke project JavaScript jika Anda belum melakukannya.
Buka bagian reCAPTCHA Enterprise di Cloud Console dan lakukan hal berikut:
- Jika Anda diminta untuk mengaktifkan reCAPTCHA Enterprise API, lakukan hal tersebut.
- Buat kunci jenis Website. Anda harus menentukan domain tempat Anda menghosting aplikasi web. Biarkan opsi "Use checkbox challenge" tidak dipilih.
Daftarkan aplikasi Anda untuk menggunakan App Check dengan penyedia reCAPTCHA Enterprise di bagian App Check pada Firebase console. Anda harus memberikan kunci situs yang didapatkan di langkah sebelumnya.
Anda biasanya harus mendaftarkan semua aplikasi project Anda, karena setelah penerapan untuk produk Firebase diaktifkan, hanya aplikasi terdaftar yang akan dapat mengakses resource backend produk.
Opsional: Di setelan pendaftaran aplikasi, tetapkan time to live (TTL) kustom untuk token App Check yang dikeluarkan oleh penyedia. Anda dapat menetapkan TTL ke semua nilai dalam rentang 30 menit hingga 7 hari. Saat mengubah nilai ini, perhatikan pertimbangan berikut:
- Keamanan: TTL yang lebih singkat memberikan keamanan yang lebih kuat karena mengurangi periode yang memungkinkan penyalahgunaan token yang bocor atau ditangkap oleh penyerang.
- Performa: TTL yang lebih singkat membuat aplikasi Anda akan lebih sering melakukan pengesahan. Karena proses pengesahan aplikasi menambahkan latensi ke permintaan jaringan setiap kali dilakukan, TTL yang singkat dapat memengaruhi performa aplikasi Anda.
- Kuota dan biaya: TTL yang lebih singkat dan pengesahan ulang yang sering dilakukan akan mengurangi kuota Anda lebih cepat, dan untuk layanan berbayar, mungkin akan menimbulkan biaya yang lebih besar. Lihat Kuota & batas.
TTL default selama 1 jam termasuk wajar untuk sebagian besar aplikasi. Perhatikan bahwa library App Check memperbarui token pada sekitar setengah dari durasi TTL.
Mengonfigurasi setelan lanjutan (opsional)
Saat pengguna mengunjungi aplikasi web Anda, reCAPTCHA Enterprise akan mengevaluasi tingkat risiko yang ditimbulkan oleh interaksi pengguna dan menampilkan skor antara 0,0 dan 1,0, dengan kenaikan bertahap sebesar 0,1. Skor 1,0 menunjukkan bahwa interaksi menimbulkan risiko rendah dan kemungkinan besar sah, sedangkan 0,0 menunjukkan bahwa interaksi menimbulkan risiko tinggi dan kemungkinan bersifat menipu. App Check memungkinkan Anda mengonfigurasi nilai minimum risiko aplikasi sehingga Anda dapat menyesuaikan toleransi Anda terhadap risiko ini.
Untuk sebagian besar kasus penggunaan, nilai minimum default yang direkomendasikan adalah 0,5. Jika kasus penggunaan Anda memerlukan penyesuaian, kasus penggunaan tersebut dapat dikonfigurasi di bagian App Check di Firebase console untuk setiap aplikasi web Anda.
Detail
App Check menggunakan nilai minimum risiko aplikasi yang Anda konfigurasi sebagai skor minimum reCAPTCHA Enterprise yang diperlukan agar interaksi pengguna dianggap sah. Semua skor reCAPTCHA Enterprise yang kurang dari nilai minimum yang Anda konfigurasi akan ditolak. Saat menyesuaikan nilai minimum risiko aplikasi, perhatikan hal-hal berikut:
Dari 11 kemungkinan tingkat skor reCAPTCHA Enterprise, hanya empat tingkat skor berikut yang tersedia sebelum Anda menambahkan akun Penagihan Google Cloud ke project Anda: 0,1, 0,3, 0,7, dan 0,9. Pada saat ini, App Check hanya akan mengizinkan nilai minimum risiko aplikasi sebesar 0,1, 0,3, 0,5, 0,7, dan 0,9. Nilai minimum risiko aplikasi sebesar 0,5 masih direkomendasikan untuk sebagian besar kasus penggunaan.
Untuk mengaktifkan semua 11 tingkat skor reCAPTCHA Enterprise, tambahkan akun Penagihan Google Cloud ke project Anda. Salah satu caranya adalah dengan mengupgrade ke paket harga Blaze. Setelah melakukannya, App Check akan mengizinkan Anda mengonfigurasi nilai minimum risiko aplikasi antara 0,0 dan 1,0, dengan kenaikan bertahap sebesar 0,1.
Untuk memantau distribusi skor reCAPTCHA Enterprise yang tinggi dan rendah untuk aplikasi web Anda, buka halaman reCAPTCHA Enterprise di konsol Google Cloud dan pilih kunci situs yang digunakan oleh aplikasi web Anda.
Jika Anda memiliki toleransi risiko aplikasi yang rendah, gerakkan penggeser ke kiri untuk meningkatkan nilai minimum risiko aplikasi.
- Nilai 1,0 tidak direkomendasikan karena setelan ini juga berpotensi menolak akses pengguna yang sah yang tidak memenuhi nilai minimum tingkat kepercayaan yang tinggi ini.
Jika Anda memiliki toleransi risiko aplikasi yang tinggi, gerakkan penggeser ke kanan untuk menurunkan nilai minimum risiko aplikasi.
- Nilai 0,0 tidak direkomendasikan karena setelan ini menonaktifkan perlindungan terhadap penyalahgunaan.
Lihat dokumentasi reCAPTCHA Enterprise untuk mengetahui detail lainnya.
2. Tambahkan library App Check ke aplikasi Anda
Tambahkan Firebase ke aplikasi web jika Anda belum melakukannya. Pastikan untuk mengimpor library App Check.
3. Lakukan inisialisasi App Check
Tambahkan kode inisialisasi berikut ke aplikasi Anda sebelum mengakses layanan Firebase. Anda harus meneruskan kunci situs reCAPTCHA Enterprise, yang Anda buat di Cloud Console, ke activate()
.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check"; const app = initializeApp({ // Your Firebase configuration object. }); // Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise // site key and pass it to initializeAppCheck(). const appCheck = initializeAppCheck(app, { provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */), isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh. });
Web
firebase.initializeApp({ // Your Firebase configuration object. }); // Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise // site key and pass it to activate(). const appCheck = firebase.appCheck(); appCheck.activate( new firebase.appCheck.ReCaptchaEnterpriseProvider( /* reCAPTCHA Enterprise site key */ ), true // Set to true to allow auto-refresh. );
Langkah berikutnya
Setelah library App Check diinstal di aplikasi Anda, deploy library tersebut.
Aplikasi klien yang telah diupdate akan mulai mengirimkan token App Check beserta setiap permintaan yang dibuatnya ke Firebase. Namun, sebelum Anda mengaktifkan penerapan di bagian App Check pada Firebase console, token tersebut tidak harus valid untuk produk Firebase.
Memantau metrik dan mengaktifkan penerapan
Sebelum mengaktifkan penerapan, Anda harus memastikan bahwa tindakan tersebut tidak akan mengganggu pengguna sah yang sudah ada. Di sisi lain, jika Anda melihat penggunaan resource aplikasi yang mencurigakan, sebaiknya segera aktifkan penerapan.
Demi membantu mengambil keputusan ini, Anda dapat melihat metrik App Check untuk layanan yang Anda gunakan:
- Pantau metrik permintaan App Check untuk Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity untuk iOS, Maps JavaScript API, dan Places API (Baru).
- Pantau metrik permintaan App Check untuk Cloud Functions.
Mengaktifkan penerapan App Check
Setelah memahami pengaruh App Check terhadap pengguna dan siap melanjutkan, Anda dapat mengaktifkan penerapan App Check:
- Mengaktifkan penerapan App Check untuk Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity untuk iOS, Maps JavaScript API, dan Places API (Baru).
- Aktifkan penerapan App Check untuk Cloud Functions.
Menggunakan App Check di lingkungan debug
Jika Anda telah mendaftarkan aplikasi untuk App Check dan ingin menjalankan aplikasi di lingkungan yang biasanya tidak akan diklasifikasikan sebagai valid oleh App Check, seperti secara lokal selama pengembangan atau dari lingkungan continuous integration (CI), Anda dapat membuat build debug aplikasi yang menggunakan penyedia debug App Check, bukan penyedia pengesahan sungguhan.
Lihat Menggunakan App Check dengan penyedia debug di aplikasi web.
Catatan biaya
App Check membuat penilaian atas nama Anda untuk memvalidasi token respons pengguna setiap kali browser yang menjalankan aplikasi web Anda memperbarui token App Check-nya. Project Anda akan dikenai biaya untuk setiap penilaian yang dibuat di atas kuota tanpa biaya. Lihat harga reCAPTCHA untuk detailnya.
Secara default, aplikasi web Anda akan memperbarui token ini dua kali setiap 1 jam. Untuk mengontrol seberapa sering aplikasi Anda memuat ulang token App Check (dan seberapa sering penilaian baru dibuat), konfigurasi TTL-nya.