Auf dieser Seite erfahren Sie, wie Sie App Check mithilfe der Standardanbieter: Play Integrity auf Android, Geräteprüfung auf Apple-Plattformen und reCAPTCHA, Version 3 im Web. Wenn Sie App Check aktivieren, sorgen Sie dafür, nur Ihre App kann auf die Firebase-Ressourcen Ihres Projekts zugreifen. Hier finden Sie eine Übersicht.
1. Das Firebase-Projekt einrichten
Installieren und initialisieren Sie FlutterFire, falls noch nicht geschehen.
Registrieren Sie Ihre Apps für die Verwendung von App Check bei den Anbietern von Play Integrity, Device Check und reCAPTCHA im Bereich Projekteinstellungen > App Check der Firebase Console.
Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, Erzwingung für ein Firebase-Produkt aktivieren, können nur registrierte Apps um auf die Back-End-Ressourcen des Produkts zuzugreifen.
Optional: Legen Sie in den Einstellungen für die App-Registrierung eine benutzerdefinierte Gültigkeitsdauer fest. (TTL) für App Check-Tokens, die vom Anbieter ausgestellt wurden. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen festlegen. Beachten Sie beim Ändern dieses Werts die folgenden Einschränkungen:
- Sicherheit: Kürzere TTLs bieten eine höhere Sicherheit, da das Zeitfenster verkürzt wird, in dem ein gehacktes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
- Leistung: Kürzere TTLs bedeuten, dass deine App die Attestierung mehr ausführt. häufig auftreten. Weil der Anwendungsattestierungsprozess die Latenz im Netzwerk erhöht Anfragen bei jeder Ausführung kann eine kurze TTL die Leistung beeinträchtigen Ihrer App.
- Kontingent und Kosten: Kürzere TTLs und häufige erneute Attestierungen erschöpfen Ihr schnelleren Kontingenten und kosten kostenpflichtige Dienste unter Umständen mehr. Siehe Kontingente und .
Die Standard-TTL ist für die meisten Apps angemessen. Die App Check-Bibliothek wird aktualisiert mit etwa der Hälfte der TTL-Dauer ein.
2. App Check-Bibliothek zur Anwendung hinzufügen
Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Plug-in zu installieren:
flutter pub add firebase_app_check
Erstellen Sie danach Ihre Flutter-Anwendung neu:
flutter run
3. App Check initialisieren
Fügen Sie Ihrer App den folgenden Initialisierungscode hinzu, damit er ausgeführt wird, bevor Sie Firebase-Dienste wie Storage verwenden, aber nachdem Firebase.initializeApp()
aufgerufen wurde.
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());
}
Nächste Schritte
Sobald die App Check-Bibliothek in Ihrer App installiert ist, können Sie die aktualisierte App für Ihre Nutzer bereitstellen.
Die aktualisierte Client-App sendet dann App Check-Tokens mit jeder Anfrage an Firebase. Die Tokens müssen jedoch erst gültig sein, wenn Sie die Erzwingung im Abschnitt „App Check“ der Firebase Console aktivieren.
Messwerte beobachten und Erzwingung aktivieren
Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch sicherstellen, dass dadurch nicht Ihre legitimen Nutzer gestört werden. Wenn Sie andererseits die verdächtige Nutzung Ihrer App-Ressourcen, sollten Sie die Erzwingung aktivieren früher.
Bei der Entscheidung können Sie sich die App-Check-Messwerte für die von Ihnen verwendeten Dienste ansehen:
- Messwerte für App-Check-Anfragen für Realtime Database, Cloud Firestore, Cloud Storage und Authentifizierung überwachen
- App Check-Anfragemesswerte für Cloud Functions überwachen
App Check-Erzwigung aktivieren
Wenn Sie die Auswirkungen von App Check auf Ihre Nutzer verstehen und bereit sind, können Sie die App Check-Erzwingung aktivieren:
- Aktivieren Sie die App-Überprüfung für Realtime Database, Cloud Firestore, Cloud Storage und Authentifizierung.
- App Check-Erzwingung für Cloud Functions aktivieren
App Check in Debug-Umgebungen verwenden
Wenn Sie Ihre App nach der Registrierung für App Check in einer Umgebung ausführen möchten, die von App Check normalerweise nicht als gültig eingestuft wird, z. B. in einem Emulator während der Entwicklung oder in einer CI-Umgebung (Continuous Integration), können Sie einen Debug-Build Ihrer App erstellen, bei dem der App Check-Debuganbieter anstelle eines echten Attestierungsanbieters verwendet wird.
Weitere Informationen finden Sie unter App Check mit dem Debugging-Anbieter in Flutter-Apps verwenden.