| Pilih platform: | iOS+ Android Web Flutter |
Halaman ini menunjukkan cara menyiapkan App Check di aplikasi Flutter, menggunakan penyedia reCAPTCHA Enterprise. App Check membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses resource backend project Anda. Untuk mempelajari lebih lanjut, tinjau ringkasan App Checkkami.
App Check mengharuskan penggunaan kunci berbasis skor reCAPTCHA, yang tidak terlihat oleh pengguna. Artinya, reCAPTCHA Enterprise penyedia tidak akan mengharuskan pengguna untuk menyelesaikan tantangan kapan saja.
Jika kasus penggunaan Anda memerlukan reCAPTCHA Enterprise fitur yang tidak diterapkan oleh App Check, atau jika Anda ingin menggunakan App Check dengan penyedia kustom Anda sendiri, lihat Menerapkan penyedia App Check kustom.
1. Menyiapkan project Firebase Anda
Jika belum, instal dan lakukan inisialisasi Firebase di project Flutter Anda.
Di konsol Google Cloud, buka halaman Fraud Defense, lalu lakukan hal berikut untuk penyedia reCAPTCHA Enterprise:
Pastikan Anda berada di project yang benar (lihat pemilih project di bagian atas layar).
Jika diminta, aktifkan reCAPTCHA Enterprise API.
Buat kunci berdasarkan platform target Anda:
iOS+
Buat kunci jenis iOS, dan tentukan ID paket aplikasi Anda (misalnya,
com.example.my_app).Pastikan Anda memasukkan ID paket yang sama dengan yang Anda berikan saat membuat Aplikasi Apple Firebase di project Firebase Anda. Nilai ID paket peka huruf besar/kecil.
Untuk App Check, setiap ID paket hanya dapat sesuai dengan satu kunci reCAPTCHA.
Android
Buat kunci jenis Android, dan tentukan nama paket aplikasi Anda (misalnya,
com.example.my_app).Pastikan Anda memasukkan nama paket yang sama dengan yang Anda berikan saat membuat Aplikasi Android Firebase di project Firebase Anda. Nilai nama paket peka huruf besar/kecil.
Untuk App Check, setiap nama paket hanya dapat sesuai dengan satu kunci reCAPTCHA.
Web
Buat kunci jenis Web, dan tentukan setiap domain untuk aplikasi web Anda.
App Check tidak mendukung aplikasi web yang ditayangkan di lebih dari 250 domain.
Jangan pernah menambahkan
localhostsebagai domain ke kunci reCAPTCHA yang di-deploy ke (atau akan di-deploy ke) produksi.Biarkan opsi "Use checkbox challenge" tidak dipilih.
Untuk mengetahui petunjuk mendetail, lihat Membuat kunci berbasis reCAPTCHA skor.
Catat setiap kunci. Anda harus menambahkannya ke alur pendaftaran di konsol Firebase.
Di konsol Firebase, buka Security > App Check.
Di tab Apps, daftarkan setiap aplikasi platform target Anda untuk menggunakan App Check dengan penyedia reCAPTCHA Enterprise. Anda harus memberikan kunci yang Anda dapatkan di konsol Google Cloud.
Opsional: Tetapkan waktu aktif token (TTL).
Di setelan pendaftaran aplikasi, tetapkan waktu aktif (TTL) kustom untuk App Check token yang dikeluarkan oleh penyedia. Anda dapat menetapkan TTL ke nilai apa pun antara 30 menit dan 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.
Opsional: Konfigurasi setelan lanjutan.
Klik Save.
(Opsional) Mengonfigurasi setelan lanjutan
Saat pengguna membuka aplikasi Anda, reCAPTCHA Enterprise mengevaluasi tingkat risiko yang ditimbulkan oleh interaksi pengguna di bawah kunci, dan menampilkan skor antara 0,0 dan 1,0, dengan kenaikan bertahap sebesar 0,1.
- Skor 0,0 menunjukkan bahwa interaksi tersebut menimbulkan risiko tinggi dan mungkin penipuan.
- Skor 1,0 menunjukkan bahwa interaksi tersebut menimbulkan risiko rendah dan kemungkinan besar sah.
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, Anda dapat mengonfigurasi nilai ini untuk setiap aplikasi Anda di konsol Firebase (buka Security > App Check). Pastikan untuk meluaskan dan meninjau beberapa pertimbangan penting tentang mengonfigurasi nilai minimum risiko aplikasi di bawah.
2. Menambahkan plugin App Check ke aplikasi Anda
Untuk menggunakan penyedia reCAPTCHA Enterprise, Anda harus menambahkan plugin App Check yang sesuai.
Dari root project Flutter Anda, jalankan perintah berikut untuk menginstal plugin:
flutter pub add firebase_app_checkSetelah selesai, bangun ulang project Flutter Anda:
flutter run
3. Melakukan inisialisasi App Check
Di aplikasi Anda, Anda harus melakukan inisialisasi App Check sebelum menggunakan layanan Firebase lainnya.
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await FirebaseAppCheck.instance.activate(
providerWeb: ReCaptchaEnterpriseProvider(WEB_SITE_KEY),
providerAndroid: const AndroidReCaptchaProvider(ANDROID_SITE_KEY),
providerApple: const AppleReCaptchaProvider(IOS_SITE_KEY),
);
runApp(App());
}
4. Memantau metrik dan mengaktifkan penerapan
Setelah menyiapkan App Check di aplikasi Anda, mulailah mendistribusikan aplikasi yang telah diupdate kepada pengguna Anda.
Aplikasi klien yang telah diupdate akan mulai mengirimkan App Check token bersama dengan setiap permintaan yang dibuat ke Firebase. Namun, App Check tidak akan memblokir permintaan dengan token yang tidak valid hingga App Check diterapkan.
Memantau metrik
Sebelum mengaktifkan penerapan, pastikan bahwa tindakan tersebut tidak akan mengganggu pengguna sah yang sudah ada. Namun, jika Anda melihat penggunaan resource aplikasi yang mencurigakan, sebaiknya segera aktifkan penerapan.
Untuk membantu membuat keputusan ini, Anda dapat meninjau App Check metrik untuk layanan yang Anda gunakan:
- Pantau App Check metrik permintaan untuk Firebase AI Logic, SQL 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:
- Aktifkan App Check penerapan untuk Firebase AI Logic, SQL 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
App Check mengklasifikasikan beberapa lingkungan sebagai tidak valid, seperti permintaan dari emulator / simulator atau localhost selama pengembangan atau dari lingkungan continuous integration (CI).
Untuk menjalankan aplikasi Anda di jenis lingkungan ini setelah App Check diterapkan, Anda harus membuat build debug aplikasi yang menggunakan App Check penyedia debug alih-alih penyedia pengesahan produksi.
Untuk mengetahui detail selengkapnya, lihat Menggunakan App Check dengan penyedia debug di aplikasi Flutter.
Harga
App Check membuat penilaian atas nama Anda untuk memvalidasi token respons pengguna setiap kali aplikasi Anda memperbarui token App Check-nya. Project Firebase Anda akan dikenai biaya untuk setiap penilaian yang dibuat di atas kuota tanpa biaya. Untuk mengetahui detailnya, lihat reCAPTCHA harga.
Secara default, aplikasi Anda akan memperbarui token ini dua kali setiap 1 jam. Untuk mengontrol seberapa sering aplikasi Anda memperbarui token App Check (dan seberapa sering penilaian baru dibuat), Anda dapat mengonfigurasi TTL token.