Ta strona pokazuje, jak włączyć Sprawdzanie aplikacji w aplikacji Flutter przy użyciu domyślnych dostawców: Play Integrity na Androida, Device Check na platformach Apple i reCAPTCHA v3 w Internecie. Włączając Sprawdzanie aplikacji, pomagasz upewnić się, że tylko Twoja aplikacja ma dostęp do zasobów Firebase Twojego projektu. Zobacz Omówienie tej funkcji.
1. Skonfiguruj swój projekt Firebase
Zainstaluj i zainicjuj FlutterFire, jeśli jeszcze tego nie zrobiłeś.
Zarejestruj swoje aplikacje, aby korzystały z Sprawdzania aplikacji u dostawców Play Integrity, Device Check i reCAPTCHA w sekcji Ustawienia projektu > Sprawdzanie aplikacji w konsoli Firebase.
Zwykle musisz zarejestrować wszystkie aplikacje swojego projektu, ponieważ po włączeniu wymuszania w produkcie Firebase tylko zarejestrowane aplikacje będą mogły uzyskać dostęp do zasobów zaplecza produktu.
Opcjonalnie : w ustawieniach rejestracji aplikacji ustaw niestandardowy czas wygaśnięcia (TTL) dla tokenów sprawdzania aplikacji wydanych przez dostawcę. TTL można ustawić na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, należy pamiętać o następujących kompromisach:
- Bezpieczeństwo: krótsze TTL zapewniają większe bezpieczeństwo, ponieważ skracają okno, w którym wyciekający lub przechwycony token może zostać wykorzystany przez atakującego.
- Wydajność: krótsze TTL oznaczają, że Twoja aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji dodaje opóźnienia do żądań sieciowych za każdym razem, gdy jest wykonywany, krótki TTL może mieć wpływ na wydajność Twojej aplikacji.
- Limit i koszt: krótsze TTL i częsta ponowna atestacja powodują szybsze wyczerpanie limitu, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Przydziały i limity .
Domyślny TTL jest rozsądny dla większości aplikacji. Należy pamiętać, że biblioteka sprawdzania aplikacji odświeża tokeny po mniej więcej połowie czasu TTL.
2. Dodaj bibliotekę App Check do swojej aplikacji
W katalogu głównym projektu Flutter uruchom następujące polecenie, aby zainstalować wtyczkę:
flutter pub add firebase_app_check
Po zakończeniu odbuduj aplikację Flutter:
flutter run
3. Zainicjuj sprawdzanie aplikacji
Dodaj następujący kod inicjujący do swojej aplikacji, aby działała przed użyciem jakichkolwiek usług Firebase, takich jak Storage, ale po wywołaniu Firebase.initializeApp()
;
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: 'recaptcha-v3-site-key',
// Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
// your preferred provider. Choose from:
// 1. Debug provider
// 2. Safety Net provider
// 3. Play Integrity provider
androidProvider: AndroidProvider.debug,
// Default provider for iOS/macOS is the Device Check provider. You can use the "AppleProvider" enum to choose
// your preferred provider. Choose from:
// 1. Debug provider
// 2. Device Check provider
// 3. App Attest provider
// 4. App Attest provider with fallback to Device Check provider (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
appleProvider: AppleProvider.appAttest,
);
runApp(App());
}
Następne kroki
Gdy biblioteka sprawdzania aplikacji zostanie zainstalowana w Twojej aplikacji, rozpocznij dystrybucję zaktualizowanej aplikacji do użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny sprawdzania aplikacji wraz z każdym żądaniem skierowanym do Firebase, ale produkty Firebase nie będą wymagać, aby tokeny były ważne, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.
Monitoruj metryki i włączaj egzekwowanie
Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłóci to działania Twoich obecnych legalnych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane użycie zasobów aplikacji, warto wcześniej włączyć wymuszanie.
Aby pomóc w podjęciu tej decyzji, możesz przejrzeć dane Sprawdzania aplikacji dotyczące usług, z których korzystasz:
- Monitoruj metryki żądań sprawdzania aplikacji dla bazy danych czasu rzeczywistego, Cloud Firestore, Cloud Storage i uwierzytelniania.
- Monitoruj metryki żądań sprawdzania aplikacji dla Cloud Functions .
Włącz wymuszanie sprawdzania aplikacji
Gdy zrozumiesz, w jaki sposób Sprawdzanie aplikacji wpłynie na Twoich użytkowników i będziesz gotowy do kontynuowania, możesz włączyć wymuszanie Sprawdzania aplikacji:
- Włącz wymuszanie sprawdzania aplikacji dla bazy danych czasu rzeczywistego, Cloud Firestore, Cloud Storage i uwierzytelniania.
- Włącz wymuszanie sprawdzania aplikacji dla Cloud Functions .
Użyj sprawdzania aplikacji w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji do kontroli aplikacji chcesz uruchomić aplikację w środowisku, którego kontrola aplikacji normalnie nie sklasyfikowałaby jako ważne, na przykład emulator podczas opracowywania lub ze środowiska ciągłej integracji (CI), możesz utwórz kompilację debugowania swojej aplikacji, która używa dostawcy debugowania sprawdzania aplikacji zamiast prawdziwego dostawcy zaświadczeń.
Zobacz Używanie sprawdzania aplikacji z dostawcą debugowania w aplikacjach Flutter .