Pierwsze kroki z używaniem Sprawdzania aplikacji z reCAPTCHA Enterprise w aplikacjach na Flattera

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

  1. Jeśli jeszcze tego nie zrobisz, zainstaluj i zainicjuj Firebase w projekcie Flutter.

  2. W konsoli Google Cloud otwórz stronę Fraud Defense, i wykonaj te czynności w przypadku dostawcy reCAPTCHA Enterprise:

    1. Sprawdź, czy jesteś w odpowiednim projekcie (zobacz selektor projektów u góry ekranu).

    2. Jeśli pojawi się prośba, włącz reCAPTCHA Enterprise API.

    3. 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 kluczowi reCAPTCHA.

      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 Firebase na Androida w projekcie Firebase. Wartość nazwy pakietu jest rozróżniana.

      • W przypadku App Check każda nazwa pakietu może odpowiadać 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 localhost jako domeny do klucza reCAPTCHA, który jest wdrożony (lub będzie wdrożony) w środowisku produkcyjnym.

      • Odznacz opcję „Użyj zadania z polem wyboru”.

      Szczegółowe instrukcje znajdziesz w artykule Tworzenie kluczy opartych na wynikureCAPTCHA.

    4. Zanotuj każdy klucz. Musisz je dodać do procesu rejestracji w konsoli Firebase.

  3. W konsoli Firebase otwórz Zabezpieczenia > Sprawdzanie aplikacji.

  4. 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.

  5. Opcjonalnie: ustaw czas życia tokena (TTL).

    W ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia (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ótsze wartości TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym atakujący może wykorzystać wyciekły lub przechwycony token.
    • Skuteczność: krótsze wartości TTL oznaczają, że aplikacja będzie częściej przeprowadzać atesty. Ponieważ proces atestowania aplikacji za każdym razem dodaje opóźnienie do żądań sieciowych, krótki TTL może wpłynąć na wydajność aplikacji.
    • Limit i koszt: krótsze wartości TTL i częste ponowne atestowanie szybciej wyczerpują limit, a w przypadku płatnych usług mogą generować wyższe koszty. Zobacz Limity.

    Domyślny TTL 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 TTL.

  6. Opcjonalnie: Skonfiguruj ustawienia zaawansowane.

  7. 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ę.

  1. W katalogu głównym projektu Flutter uruchom to polecenie, aby zainstalować wtyczkę:

    flutter pub add firebase_app_check
    
  2. Po 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 wymuszania

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. Jednak App Check nie będzie blokować żądań z nieprawidłowymi tokenami, dopóki App Check nie zostanie włączone wymuszanie.

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ć wymuszanie.

Aby podjąć decyzję, możesz sprawdzić dane App Check dotyczące używanych usług:

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ć wymuszanie App Check:

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 (CI).

Aby uruchomić aplikację w tych środowiskach po wymuszeniu App Check, musisz utworzyć kompilację debugowania aplikacji, która używa App Check dostawcy debugowania zamiast dostawcy atestów w środowisku produkcyjnym.

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 Twój projekt w Firebase zostanie obciążony opłatą. 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ć TTL tokena.