Z tej strony dowiesz się, jak włączyć Sprawdzanie aplikacji w aplikacji Flutter przy użyciu dostawcy domyślny: Play Integrity na Androidzie, Sprawdzanie urządzeń na platformach Apple; reCAPTCHA w wersji 3 w przeglądarce. Włączenie Sprawdzania aplikacji pozwala upewnić się, dostęp do zasobów Firebase projektu ma tylko Twoja aplikacja. Zobacz Omówienie tej funkcji.
1. Skonfiguruj projekt Firebase
Zainstaluj i zainicjuj FlutterFire, jeśli jeszcze tego nie zrobiłeś. jeśli już to zrobili.
Zarejestruj swoje aplikacje, aby używać Sprawdzania aplikacji za pomocą dostawców Play Integrity, Sprawdzanie urządzenia i reCAPTCHA w Ustawienia projektu > Sprawdzanie aplikacji w konsoli Firebase.
Zwykle konieczne jest zarejestrowanie wszystkich aplikacji związanych z projektem, ponieważ włączenie egzekwowania zasad w przypadku usługi Firebase, tylko zarejestrowane aplikacje będą mogły na dostęp do zasobów backendu usługi.
Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) tokenów Sprawdzania aplikacji wystawionych przez dostawcę. Możesz ustawić wartość TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych wadach:
- Bezpieczeństwo: krótsze wartości TTL zapewniają silniejsze zabezpieczenia, ponieważ zmniejszają okno, w którym ujawniony lub przechwycony token może zostać wykorzystany przez atakującego.
- Wydajność: krótsze wartości TTL oznaczają większą wydajność atestu aplikacji często. Ponieważ proces poświadczania aplikacji zwiększa opóźnienie sieci. żądań przy każdym wykonaniu, krótki czas TTL może wpływać na wydajność Twojej aplikacji.
- Limit i koszt: krótsze wartości TTL i częsta ponowna atestacja powodują wyczerpywanie się przyśpieszać limity, a w przypadku usług płatnych może to być wyższe. Zobacz Limity i .
Domyślna wartość TTL jest rozsądny w przypadku większości aplikacji. Pamiętaj, że biblioteka Sprawdzania aplikacji jest odświeżana. tokeny z mniej więcej połowę czasu TTL.
2. Dodawanie biblioteki Sprawdzania aplikacji do aplikacji
Aby zainstalować wtyczkę, w katalogu głównym projektu Flutter uruchom to polecenie:
flutter pub add firebase_app_check
Po zakończeniu ponownie skompiluj aplikację Flutter:
flutter run
3. Inicjowanie Sprawdzania aplikacji
Dodaj ten kod inicjowania do swojej aplikacji, aby uruchamiała się przed
korzystać z dowolnych 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(
// You can also use a `ReCaptchaEnterpriseProvider` provider instance as an
// argument for `webProvider`
webProvider: ReCaptchaV3Provider('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());
}
Dalsze kroki
Gdy zainstalujesz w aplikacji bibliotekę Sprawdzanie aplikacji, zacznij rozpowszechniać zaktualizowane aplikacje.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny Sprawdzania aplikacji i wysyła żądania do Firebase, ale usługi Firebase nie będą wymagać tokenów będzie ważne do momentu włączenia wymuszania w sekcji Sprawdzanie aplikacji konsoli Firebase.
Monitorowanie wskaźników i włączanie wymuszania
Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłócać działanie istniejących prawidłowych użytkowników. Z drugiej strony, jeśli widzisz podejrzane wykorzystanie zasobów aplikacji, warto włączyć wymuszanie szybciej.
W podjęciu tej decyzji mogą pomóc dane funkcji Sprawdzanie aplikacji używanych usług:
- Monitorowanie danych żądań Sprawdzania aplikacji: Baza danych czasu rzeczywistego, Cloud Firestore, Cloud Storage i Uwierzytelnianie.
- Monitorowanie wskaźników żądań Sprawdzania aplikacji w Cloud Functions
Włącz wymuszanie Sprawdzania aplikacji
Gdy zrozumiesz, jak Sprawdzanie aplikacji wpłynie na Twoich użytkowników, możesz zacząć możesz włączyć wymuszanie Sprawdzania aplikacji:
- Włącz wymuszanie Sprawdzania aplikacji dla Baza danych czasu rzeczywistego, Cloud Firestore, Cloud Storage i Uwierzytelnianie.
- Włącz wymuszanie Sprawdzania aplikacji w Cloud Functions.
Używanie Sprawdzania aplikacji w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji w Sprawdzaniu aplikacji chcesz ją uruchomić w środowisku, którego Sprawdzanie aplikacji zwykle nie sklasyfikowałoby jako prawidłowe, np. za pomocą emulatora w trakcie programowania lub w ramach integracji ciągłej (CI) możesz utworzyć kompilację do debugowania aplikacji wykorzystującą dostawca debugowania Sprawdzania aplikacji zamiast prawdziwego dostawcy atestu;
Zapoznaj się z artykułem na temat używania Sprawdzania aplikacji z dostawcą debugowania w aplikacjach Flutter.