| Plattform auswählen: | iOS+ Android Web Flutter |
Auf dieser Seite erfahren Sie, wie Sie App Check in einer Flutter-App mit dem reCAPTCHA Enterprise-Anbieter einrichten. App Check sorgt dafür, dass nur Ihre App auf die Backend-Ressourcen Ihres Projekts zugreifen kann. Weitere Informationen finden Sie in der Übersicht zu App Check.
App Check erfordert die Verwendung von punktzahlbasierten reCAPTCHA-Schlüsseln, sodass es für Nutzer nicht sichtbar ist. Das bedeutet, dass der reCAPTCHA Enterprise-Anbieter von Nutzern zu keinem Zeitpunkt verlangt, eine Aufgabe zu lösen.
Wenn für Ihren Anwendungsfall reCAPTCHA Enterprise-Features erforderlich sind, die nicht von App Check implementiert werden, oder wenn Sie App Check mit Ihrem eigenen benutzerdefinierten Anbieter verwenden möchten, lesen Sie den Abschnitt Benutzerdefinierten App Check-Anbieter implementieren.
1. Das Firebase-Projekt einrichten
Falls noch nicht geschehen, installieren und initialisieren Sie Firebase in Ihrem Flutter-Projekt.
Rufen Sie in der Google Cloud Console die Seite Fraud Defense auf und gehen Sie für den Anbieter reCAPTCHA Enterprise so vor:
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 für Ihre 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).Achten Sie darauf, dass Sie dieselbe Paket-ID eingeben, die Sie beim Erstellen Ihrer Firebase-Apple-App in Ihrem Firebase-Projekt angegeben haben. Beim Wert der Paket-ID wird die Groß- und Kleinschreibung berücksichtigt.
Bei 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).Achten Sie darauf, dass Sie denselben Paketnamen eingeben, den Sie beim Erstellen Ihrer Firebase-Android-App in Ihrem Firebase-Projekt angegeben haben. Beim Wert des Paketnamens wird zwischen Groß- und Kleinschreibung unterschieden.
Bei App Check kann jeder Paketname nur einem einzigen reCAPTCHA-Schlüssel entsprechen.
Web
Erstellen Sie einen Schlüssel vom Typ Web und geben Sie die Domains für Ihre Webanwendungen 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 „Kästchen-Bestätigung verwenden“ deaktiviert.
Eine ausführliche Anleitung finden Sie unter Bewertungsbasierte reCAPTCHA-Schlüssel erstellen.
Notieren Sie sich die einzelnen Schlüssel. Sie müssen sie in der Firebase-Konsole zum Registrierungsablauf hinzufügen.
Rufen Sie in der Firebase-Konsole Sicherheit > App Check auf.
Registrieren Sie auf dem Tab Apps jede Ihrer Zielplattform-Apps, 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.
Optional: Legen Sie die Gültigkeitsdauer (TTL) für Tokens fest.
Legen Sie in den Einstellungen für die App-Registrierung eine benutzerdefinierte Gültigkeitsdauer (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 Vor- und Nachteile:
- Sicherheit: Kürzere TTLs bieten mehr Sicherheit, da sie das Zeitfenster verringern, in dem ein geleaktes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
- Leistung: Kürzere TTLs bedeuten, dass Ihre App die Attestierung häufiger durchführt. Da der App-Attestierungsprozess bei jeder Ausführung die Latenz von Netzwerkanfragen erhöht, kann eine kurze TTL die Leistung Ihrer App beeinträchtigen.
- Kontingent und Kosten: Kürzere TTLs und häufige erneute Attestierungen verbrauchen Ihr Kontingent schneller und können bei kostenpflichtigen Diensten zu höheren Kosten führen. Siehe Kontingente und Limits.
Die Standard-TTL von 1 Stunde ist für die meisten Anwendungen angemessen. Beachten Sie, dass die App Check-Bibliothek Tokens nach etwa der Hälfte der TTL-Dauer aktualisiert.
Optional: Erweiterte Einstellungen konfigurieren
Klicken Sie auf Speichern.
(Optional) Erweiterte Einstellungen konfigurieren
Wenn ein Nutzer Ihre App öffnet, bewertet reCAPTCHA Enterprise 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.
- Ein Wert von 0,0 gibt an, dass die Interaktion ein hohes Risiko darstellt und betrügerisch sein kann.
- Ein Wert von 1,0 bedeutet, dass die Interaktion ein geringes Risiko darstellt und sehr wahrscheinlich legitim ist.
Mit App Check können Sie einen Schwellenwert für das App-Risiko konfigurieren, um Ihre Toleranz für dieses Risiko anzupassen.
Für die meisten Anwendungsfälle wird der Standardgrenzwert 0, 5 empfohlen. Wenn Ihr Anwendungsfall eine Anpassung erfordert, können Sie diesen Wert für jede Ihrer Apps in der Firebase-Konsole konfigurieren. Gehen Sie dazu zu Sicherheit > App Check. Sehen Sie sich unten die wichtigen Überlegungen zur Konfiguration des Schwellenwerts für das App-Risiko an.
2. Fügen Sie Ihrer App das App Check-Plug-in hinzu.
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 anschließend 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 dann bei jeder Anfrage an Firebase App Check-Tokens. App Check blockiert jedoch keine Anfragen mit ungültigen Tokens, bis App Check erzwungen wird.
Messwerte überwachen
Bevor Sie die Erzwingung aktivieren, sollten Sie sicherstellen, dass dadurch keine legitimen Nutzer beeinträchtigt werden. Wenn Sie jedoch eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung früher aktivieren.
Als Entscheidungshilfe können Sie die App Check-Messwerte für die von Ihnen verwendeten Dienste prüfen:
- App Check-Anfragemesswerte überwachen 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).
- App Check-Anfragemesswerte für Cloud Functions überwachen.
Erzwingung von App Check aktivieren
Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und Sie bereit sind, fortzufahren, können Sie die Erzwingung von App Check aktivieren:
- Erzwingung von App Check aktivieren 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).
- Erzwingung von App Check für Cloud Functions aktivieren.
App Check in Debug-Umgebungen verwenden
App Check klassifiziert einige Umgebungen als ungültig, z. B. Anfragen von einem Emulator / Simulator oder Localhost während der Entwicklung oder von einer CI-Umgebung (Continuous Integration).
Wenn Sie Ihre App nach der Durchsetzung von App Check in diesen Umgebungen ausführen möchten, müssen Sie einen Debug-Build Ihrer App erstellen, der den App Check-Debug-Anbieter anstelle eines Produktionsattestierungsanbieters 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 jedes Mal zu validieren, wenn Ihre App das App Check-Token aktualisiert. Für jede Bewertung, die über das kostenlose Kontingent hinaus erstellt wird, fallen Kosten für Ihr Firebase-Projekt an. Weitere Informationen finden Sie unter reCAPTCHA-Preise.
Standardmäßig wird dieses Token von Ihrer App zweimal pro Stunde aktualisiert. Wenn Sie festlegen möchten, wie oft Ihre App App Check-Tokens aktualisiert (und damit, wie oft neue Bewertungen erstellt werden), können Sie die TTL des Tokens konfigurieren.