| 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 Check kami.
App Check memerlukan penggunaan kunci reCAPTCHA berbasis skor, sehingga tidak terlihat oleh pengguna. Artinya, penyedia reCAPTCHA Enterprise tidak akan 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, lihat Menerapkan penyedia App Check kustom.
1. Menyiapkan project Firebase Anda
Instal dan inisialisasi Firebase di project Flutter Anda jika Anda belum melakukannya.
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. 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 selengkapnya, lihat Membuat kunci reCAPTCHA berbasis skor.
Catat setiap kunci. Anda harus menambahkannya ke alur pendaftaran di konsol Firebase.
Di konsol Firebase, buka Security > App Check.
Di tab Aplikasi, daftarkan setiap aplikasi platform target Anda untuk menggunakan App Check dengan penyedia reCAPTCHA Enterprise. Anda harus memberikan kunci yang didapatkan di konsol Google Cloud.
Opsional: Tetapkan time to live (TTL) token.
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.
Opsional: Konfigurasi setelan lanjutan.
Klik Save.
(Opsional) Mengonfigurasi setelan lanjutan
Saat pengguna membuka aplikasi Anda, reCAPTCHA Enterprise akan 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 menimbulkan risiko tinggi dan mungkin bersifat menipu.
- Skor 1,0 menunjukkan bahwa interaksi 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 di konsol Firebase (buka Keamanan > App Check). Pastikan untuk meluaskan dan meninjau beberapa pertimbangan penting tentang cara 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. Lakukan inisialisasi App Check
Di aplikasi, 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, mulai distribusikan aplikasi yang telah diupdate kepada pengguna.
Aplikasi klien yang telah diupdate akan mulai mengirimkan token App Check beserta setiap permintaan yang dibuatnya ke Firebase. Namun, App Check tidak akan memblokir permintaan dengan token tidak valid hingga App Check diterapkan.
Memantau metrik
Sebelum Anda mengaktifkan penerapan, pastikan 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 mengambil keputusan ini, Anda dapat meninjau metrik App Check untuk layanan yang Anda gunakan:
- Pantau metrik permintaan App Check 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:
- Mengaktifkan penerapan App Check 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 di jenis lingkungan ini setelah App Check diterapkan, Anda perlu membuat build debug aplikasi yang menggunakan penyedia debug App Check, bukan 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 harga reCAPTCHA.
Secara default, aplikasi 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), Anda dapat mengonfigurasi TTL token.