| Plattform auswählen : | iOS+ Android Web Flutter |
Auf dieser Seite erfahren Sie, wie Sie App Check in einer Flutter-App einrichten, mit dem reCAPTCHA Enterprise Anbieter. App Check trägt dazu bei, dass nur Ihre App auf die Backend-Ressourcen Ihres Projekts zugreifen kann. Weitere Informationen finden Sie in unserer Übersicht zu App Check.
App Check erfordert die Verwendung von punktzahlbasierten reCAPTCHA Schlüsseln, die für Nutzer nicht sichtbar sind. Das bedeutet, dass Nutzer vom reCAPTCHA Enterprise Anbieter zu keinem Zeitpunkt aufgefordert werden, eine Aufgabe zu lösen.
Wenn Ihr Anwendungsfall reCAPTCHA Enterprise Funktionen erfordert, die nicht von App Check implementiert werden, oder wenn Sie App Check mit einem eigenen benutzerdefinierten Anbieter verwenden möchten, lesen Sie den Artikel Benutzerdefinierten App Check Anbieter implementieren.
1. Das Firebase-Projekt einrichten
Installieren und initialisieren Sie Firebase in Ihrem Flutter-Projekt, falls noch nicht geschehen, install and initialize Firebase in your Flutter project.
Rufen Sie in der Google Cloud Console die Fraud Defense Seite auf, und führen Sie für den reCAPTCHA Enterprise Anbieter die folgenden Schritte aus:
Achten Sie darauf, dass Sie sich im richtigen Projekt befinden (siehe Projektauswahl oben auf dem Bildschirm).
Aktivieren Sie bei entsprechender Aufforderung die reCAPTCHA Enterprise API.
Erstellen Sie einen Schlüssel basierend auf Ihrer Zielplattform:
iOS+
Erstellen Sie einen Schlüssel vom Typ iOS und geben Sie die Paket-ID Ihrer App an (z. B.
com.example.my_app).Stellen Sie sicher, dass Sie dieselbe Paket-ID eingeben, die Sie beim Erstellen Ihrer Firebase Apple-App in Ihrem Firebase-Projekt angegeben haben. Bei der Paket-ID wird zwischen Groß- und Kleinschreibung unterschieden.
Für App Check kann jede Paket-ID nur einem einzigen reCAPTCHA Schlüssel entsprechen.
Android
Erstellen Sie einen Schlüssel vom Typ Android und geben Sie den Paketnamen Ihrer App an (z. B.
com.example.my_app).Geben Sie denselben Paketnamen ein, den Sie beim Erstellen Ihrer Firebase Android-App in Ihrem Firebase-Projekt angegeben haben. Beim Paketnamen wird zwischen Groß- und Kleinschreibung unterschieden.
Für App Check kann jeder Paketname nur einem einzigen reCAPTCHA Schlüssel entsprechen.
Web
Erstellen Sie einen Schlüssel vom Typ Web und geben Sie jede der Domains für Ihre Web-Apps an.
App Check unterstützt keine Web-Apps, die auf mehr als 250 Domains bereitgestellt werden.
Fügen Sie
localhostniemals als Domain zu einem reCAPTCHA Schlüssel hinzu, der in der Produktion bereitgestellt wird (oder werden soll).Lassen Sie die Option „Checkbox-Aufgabe verwenden“ deaktiviert.
Eine detaillierte Anleitung finden Sie unter Punktzahlbasierte reCAPTCHA Schlüssel erstellen.
Notieren Sie sich jeden Schlüssel. Sie müssen sie dem Registrierungs ablauf in der Firebase Console hinzufügen.
Rufen Sie in der Firebase Console Security > App Check auf.
Registrieren Sie auf dem Tab Apps jede Ihrer Apps für die Zielplattform, um App Check mit dem reCAPTCHA Enterprise Anbieter zu verwenden. Sie müssen den Schlüssel angeben, den Sie in der Google Cloud Konsole erhalten haben.
für einen Dienst aktivieren, können nur registrierte Apps auf den Dienst zugreifen.Optional: Legen Sie die Gültigkeitsdauer (Time To Live, TTL) für das Token fest.
Legen Sie in den App-Registrierungseinstellungen eine benutzerdefinierte Gültigkeitsdauer (Time To Live, TTL) für App Check Tokens fest, die vom Anbieter ausgestellt werden. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen festlegen. Beachten Sie beim Ändern dieses Werts die folgenden Kompromisse:
- Sicherheit: Kürzere TTLs bieten mehr Sicherheit, da sie das Zeitfenster verringern, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
- Leistung: Bei kürzeren TTLs führt Ihre App häufiger eine Attestierung durch. Da der App-Attestierungsprozess bei jeder Ausführung die Latenz zu Netzwerkanfragen hinzufügt, kann sich eine kurze TTL auf die Leistung Ihrer App auswirken.
- Kontingent und Kosten: Kürzere TTLs und häufige erneute Attestierungen führen dazu, dass Ihr Kontingent schneller aufgebraucht wird. Bei kostenpflichtigen Diensten können dadurch auch höhere Kosten entstehen. Weitere Informationen finden Sie unter Kontingente und Limits.
Die Standard-TTL von 1 Stunde ist für die meisten Apps angemessen. Beachten Sie, dass die App Check Bibliothek Tokens etwa nach der Hälfte der TTL-Dauer aktualisiert.
Klicken Sie auf Speichern.
(Optional) Erweiterte Einstellungen konfigurieren
Wenn ein Nutzer Ihre App öffnet, reCAPTCHA Enterprise bewertet das Risiko der Nutzerinteraktion unter dem Schlüssel und gibt eine Punktzahl zwischen 0,0 und 1,0 in Schritten von 0,1 zurück.
- Eine Punktzahl von 0,0 bedeutet, dass die Interaktion ein hohes Risiko darstellt und betrügerisch sein kann.
- Eine Punktzahl von 1,0 bedeutet, dass die Interaktion ein geringes Risiko darstellt und sehr wahrscheinlich legitim ist.
App Check ermöglicht Ihnen die Konfiguration eines App-Risikoschwellenwerts, um Ihre Toleranz für dieses Risiko anzupassen.
In den meisten Anwendungsfällen wird der Standardschwellenwert von 0, 5 empfohlen. Wenn eine Anpassung erforderlich ist, können Sie diesen Wert für jede Ihrer Apps in der Firebase Console konfigurieren (gehen Sie zu Sicherheit > App Check). Erweitern Sie die folgenden wichtigen Überlegungen zur Konfiguration des App-Risikoschwellenwerts und lesen Sie sie durch.
2. Das App Check Plug-in zu Ihrer App hinzufügen
Wenn Sie den reCAPTCHA Enterprise Anbieter verwenden möchten, müssen Sie das entsprechende App Check Plug-in 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_checkErstellen Sie nach Abschluss des Vorgangs Ihr Flutter-Projekt neu:
flutter run
3. App Check initialisieren
In Ihrer App müssen Sie App Check initialisieren, bevor Sie andere Firebase-Dienste verwenden.
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. Messwerte beobachten und Erzwingung aktivieren
Nachdem Sie App Check in Ihrer App eingerichtet haben, können Sie die aktualisierte App für Ihre Nutzer bereitstellen.
Die aktualisierte Client-App sendet App Check Tokens mit jeder Anfrage an Firebase. App Check blockiert Anfragen mit ungültigen Tokens jedoch erst, wenn App Check erzwungen wird.
Messwerte beobachten
_**Bevor Sie die Erzwingung aktivieren**_, sollten Sie prüfen, ob dadurch Ihre bestehenden berechtigten Nutzer beeinträchtigt werden. Wenn Sie jedoch eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.
Um diese Entscheidung zu treffen, können Sie die App Check Messwerte für die Dienste prüfen, die Sie verwenden:
- Beobachten Sie die Messwerte für App CheckAnfragen für Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (New).
- Beobachten Sie die Messwerte für App Check Anfragen für Cloud Functions.
App Check Erzwingung aktivieren
Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und bereit sind fortzufahren, können Sie die App Check Erzwingung aktivieren:
- Aktivieren Sie die App Check Erzwingung für Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (New).
- Aktivieren Sie die App Check Erzwingung für Cloud Functions.
App Check in Debugging-Umgebungen verwenden
App Check klassifiziert einige Umgebungen als ungültig, z. B. Anfragen von einem Emulator / Simulator oder von „localhost“ während der Entwicklung oder aus einer Continuous Integration-Umgebung (CI).
Wenn Sie Ihre App in diesen Umgebungen ausführen möchten, nachdem App Check erzwungen wurde, müssen Sie einen Debug-Build Ihrer App erstellen, der anstelle eines Attestierungsanbieters für die Produktion den App Check Debug-Anbieter verwendet.
Weitere Informationen finden Sie unter App Check mit dem Debug-Anbieter in Flutter-Apps verwenden.
Preise
App Check erstellt in Ihrem Namen eine Bewertung, um das Antworttoken des Nutzers zu validieren, wenn Ihre App ihr App Check Token aktualisiert. Für jede Bewertung, die über dem kostenlosen Kontingent liegt, wird Ihrem Firebase-Projekt eine Gebühr berechnet. Weitere Informationen finden Sie unter reCAPTCHA Preise.
Standardmäßig aktualisiert Ihre App dieses Token zweimal pro Stunde. Sie können die TTL des Tokens konfigurieren, um festzulegen, wie oft Ihre App App Check Tokens aktualisiert und wie oft neue Bewertungen erstellt werden.