| Wybierz platformę: | iOS+ Android Sieć Flutter |
Z tej strony dowiesz się, jak skonfigurować App Check w aplikacji Flutter za pomocą dostawcy reCAPTCHA Enterprise. App Check pomaga zapewnić że tylko Twoja aplikacja może uzyskiwać dostęp do zasobów backendu projektu. Więcej informacji znajdziesz w omówieniu App Check.
App Check wymaga użycia kluczy opartych na wyniku reCAPTCHA, które są niewidoczne dla użytkowników. Oznacza to, że reCAPTCHA Enterprise dostawca nigdy nie będzie wymagać od użytkowników rozwiązania zadania.
Jeśli Twój przypadek użycia wymaga funkcji reCAPTCHA Enterprise, które nie są zaimplementowane przez App Check, lub jeśli chcesz używać App Check z własnym dostawcą niestandardowym , zapoznaj się z artykułem Implementowanie niestandardowego dostawcy App Check.
1. Konfigurowanie projektu w Firebase
Jeśli jeszcze tego nie zrobisz, zainstaluj i zainicjuj Firebase w projekcie Flutter.
W konsoli Google Cloud otwórz stronę Fraud Defense, i wykonaj te czynności w przypadku dostawcy reCAPTCHA Enterprise:
Upewnij się, że jesteś w odpowiednim projekcie (sprawdź selektor projektów u góry ekranu).
Jeśli pojawi się prośba, włącz interfejs reCAPTCHA Enterprise API.
Utwórz klucz na podstawie platformy docelowej:
iOS+
Utwórz klucz typu iOS i podaj identyfikator pakietu aplikacji (np.
com.example.my_app).Upewnij się, że wpisujesz ten sam identyfikator pakietu, który został podany podczas tworzenia aplikacji Firebase na Apple w projekcie Firebase. Wartość identyfikatora pakietu jest rozróżniana.
W przypadku App Check, każdy identyfikator pakietu może odpowiadać tylko jednemu reCAPTCHA kluczowi.
Android
Utwórz klucz typu Android i podaj nazwę pakietu aplikacji (np.
com.example.my_app).Upewnij się, że wpisujesz tę samą nazwę pakietu, która została podana podczas tworzenia aplikacji na Androida w projekcie Firebase. Wartość nazwy pakietu jest rozróżniana.
W przypadku App Check każda nazwa pakietu może odpowiadać tylko jednemu kluczowi reCAPTCHA.
Sieć
Utwórz klucz typu Sieć i podaj wszystkie domeny aplikacji internetowych.
App Check Sprawdzanie aplikacji nie obsługuje aplikacje internetowe, które działają w więcej niż 250 domenach.
Nigdy nie dodawaj
localhostjako domeny do klucza reCAPTCHA, który jest wdrożony (lub zostanie wdrożony) w środowisku produkcyjnym.Odznacz opcję „Użyj zadania z polem wyboru”.
Szczegółowe instrukcje znajdziesz w artykule Tworzenie kluczy opartych na wynikureCAPTCHA.
Zanotuj każdy klucz. Musisz dodać je do procesu rejestracji w Firebase konsoli.
W konsoli Firebase otwórz Zabezpieczenia > Sprawdzanie aplikacji.
Na karcie Aplikacje zarejestruj każdą aplikację na platformę docelową, aby używać App Check z dostawcą reCAPTCHA Enterprise. Musisz podać klucz uzyskany w konsoli Google Cloud.
Opcjonalnie: ustaw czas życia tokena (TTL).
W ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia tokena (TTL) dla App Check tokenów wydawanych przez dostawcę. Możesz ustawić TTL na dowolną wartość od 30 minut do 7 dni. Podczas zmiany tej wartości pamiętaj o tych kompromisach:
- Bezpieczeństwo: krótszy czas życia tokena zapewnia większe bezpieczeństwo, ponieważ zmniejsza okno, w którym wyciekły lub przechwycony token może zostać wykorzystany przez atakującego.
- Wydajność: krótszy czas życia tokena oznacza, że aplikacja będzie częściej przeprowadzać atest. Ponieważ proces atestu aplikacji dodaje opóźnienie do żądań sieciowych za każdym razem, gdy jest wykonywany, krótki czas życia tokena może mieć wpływ na wydajność aplikacji.
- Limit i koszt: krótszy czas życia tokena i częste ponowne atesty szybciej wyczerpują limit, a w przypadku usług płatnych mogą generować wyższe koszty. Zobacz Limity przydziału i limity.
Domyślny czas życia tokena wynoszący 1 godzinę jest odpowiedni dla większości aplikacji. Pamiętaj, że biblioteka App Check odświeża tokeny mniej więcej w połowie czasu życia tokena.
Opcjonalnie: Skonfiguruj ustawienia zaawansowane.
Kliknij Zapisz.
(Opcjonalnie) Konfigurowanie ustawień zaawansowanych
Gdy użytkownik otworzy Twoją aplikację, reCAPTCHA Enterprise oceni poziom ryzyka, jakie stwarza interakcja użytkownika z kluczem, i zwróci wynik od 0,0 do 1,0 z przyrostem 0,1.
- Wynik 0,0 oznacza, że interakcja wiąże się z wysokim ryzykiem i może być oszustwem.
- Wynik 1,0 oznacza, że interakcja wiąże się z niskim ryzykiem i jest bardzo prawdopodobnie uzasadniona.
App Check umożliwia skonfigurowanie progu ryzyka aplikacji , aby dostosować tolerancję na to ryzyko.
W większości przypadków zalecana jest domyślna wartość progu 0, 5. Jeśli Twój przypadek użycia wymaga dostosowania, możesz skonfigurować tę wartość dla każdej aplikacji w konsoli Firebase (otwórz Zabezpieczenia > Sprawdzanie aplikacji). Rozwiń i zapoznaj się z ważnymi kwestiami dotyczącymi konfigurowania progu ryzyka aplikacji.
2. Dodawanie wtyczki App Check do aplikacji
Aby używać dostawcy reCAPTCHA Enterprise, musisz dodać odpowiednią App Check wtyczkę.
W katalogu głównym projektu Flutter uruchom to polecenie, aby zainstalować wtyczkę:
flutter pub add firebase_app_checkPo zakończeniu ponownie skompiluj projekt Flutter:
flutter run
3. Inicjowanie App Check
Zanim zaczniesz korzystać z innych usług Firebase, musisz zainicjować App Check.
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. Monitorowanie danych i włączanie egzekwowania
Po skonfigurowaniu App Check w aplikacji zacznij rozpowszechniać zaktualizowaną aplikację wśród użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym żądaniem wysyłanym do Firebase. App CheckSprawdzanie aplikacji nie będzie jednak blokować żądań z nieprawidłowymi tokenami, dopóki nie zostanie włączone egzekwowanie App Checksprawdzania aplikacji.
Monitorowanie danych
Zanim włączysz egzekwowanie, upewnij się, że nie zakłóci to działania dotychczasowych prawowitych użytkowników. Jeśli jednak zauważysz podejrzane korzystanie z zasobów aplikacji, możesz wcześniej włączyć egzekwowanie.
Aby ułatwić podjęcie decyzji, możesz sprawdzić dane App Check dotyczące używanych usług:
- Monitoruj App Checkdane dotyczące żądań w przypadku usług Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (nowa wersja).
- Monitoruj dane dotyczące żądań App Check w przypadku Cloud Functions.
Włączanie egzekwowania App Check
Gdy zrozumiesz, jak App Check wpłynie na użytkowników, i będziesz gotowy(-a) do kontynuowania, możesz włączyć egzekwowanie App Check:
- Włącz egzekwowanieApp Check w przypadku Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (nowa wersja).
- Włącz App Check egzekwowanie w przypadku Cloud Functions.
Używanie App Check w środowiskach debugowania
App Check klasyfikuje niektóre środowiska jako nieprawidłowe, np. żądania z emulatora lub symulatora albo z hosta lokalnego podczas programowania lub ze środowiska trybu ciągłej integracji.
Aby uruchomić aplikację w tych typach środowisk po włączeniu egzekwowania App Check, musisz utworzyć kompilację do debugowania aplikacji, która używa App Check dostawcy debugowania zamiast dostawcy atestów produkcyjnych.
Więcej informacji znajdziesz w artykule Używanie App Check z dostawcą debugowania w aplikacjach Flutter.
Ceny
App Check tworzy ocenę w Twoim imieniu, aby zweryfikować token odpowiedzi użytkownika za każdym razem, gdy aplikacja odświeża token App Check. Za każdą ocenę utworzoną powyżej bezpłatnego limitu zostanie naliczona opłata w projekcie w Firebase. Więcej informacji znajdziesz w reCAPTCHA cenniku.
Domyślnie aplikacja będzie odświeżać ten token 2 razy na 1 godzinę. Aby kontrolować, jak często aplikacja odświeża tokeny App Check (a tym samym, jak często tworzone są nowe oceny), możesz skonfigurować czas życia tokena.