| 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 trägt dazu bei, dass nur Ihre App auf die Backend-Ressourcen Ihres Projekts zugreifen kann. Weitere InformationenApp Check
Für App Check sind auf dem Score basierende reCAPTCHA-Schlüssel erforderlich, die für Nutzer nicht sichtbar sind. Das bedeutet, dass der reCAPTCHA Enterprise-Anbieter Nutzer zu keinem Zeitpunkt auffordert, eine Aufgabe zu lösen.
Wenn für Ihren Anwendungsfall reCAPTCHA Enterprise-Funktionen 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 derGoogle CloudConsole die Seite Fraud Defense auf und gehen Sie für den reCAPTCHA Enterprise-Anbieter 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 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).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 Set-ID wird zwischen Groß- und Kleinschreibung unterschieden.
Bei App Check kann jede Paket-ID nur einem einzelnen 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.
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 die einzelnen Domains für Ihre Web-Apps an.
App Check unterstützt nicht 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-Challenge verwenden“ deaktiviert.
Eine detaillierte Anleitung finden Sie unter Schlüssel für reCAPTCHA-basierte Scores erstellen.
Notieren Sie sich die einzelnen Schlüssel. Sie müssen sie in der Firebase-Konsole in den Registrierungsablauf einfügen.
Rufen Sie in der Firebase-Konsole Sicherheit > App Check auf.
Registrieren Sie auf dem Tab Apps jede Ihrer Zielplattform-Apps für die Verwendung von App Check mit dem reCAPTCHA Enterprise-Anbieter. Sie müssen den Schlüssel angeben, den Sie in der Google Cloud-Konsole erhalten haben.
Optional: Legen Sie die Gültigkeitsdauer (Time To Live, TTL) für das Token fest.
Legen Sie in den Einstellungen für die App-Registrierung 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 wird die Attestierung in Ihrer App häufiger durchgeführt. Da der Prozess zur App-Attestierung die Latenz von Netzwerkanfragen jedes Mal erhöht, wenn er ausgeführt wird, kann sich eine kurze TTL auf die Leistung Ihrer App auswirken.
- 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. Weitere Informationen finden Sie unter Kontingente und Limits.
Die Standard-TTL von 1 Stunde ist für die meisten Apps angemessen. Die App Check-Bibliothek aktualisiert Tokens etwa nach der Hälfte der TTL-Dauer.
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 bedeutet, 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 App-Risikoschwellenwert konfigurieren, um Ihre Toleranz für dieses Risiko anzupassen.
In den meisten Anwendungsfällen wird der Standardgrenzwert von 0, 5 empfohlen. Wenn Ihr Anwendungsfall eine Anpassung erfordert, können Sie diesen Wert für jede Ihrer Apps in der Firebase-Konsole konfigurieren (Sicherheit > App Check). Wichtige Überlegungen zur Konfiguration des App-Risikoschwellenwerts finden Sie unten.
2. App Check-Plug-in zur 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_checkWenn Sie fertig sind, erstellen Sie 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 im Blick behalten 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 beginnt, App Check-Tokens zusammen mit jeder Anfrage zu senden, die sie an Firebase richtet. App Check blockiert jedoch erst dann Anfragen mit ungültigen Tokens, wenn App Check erzwungen wird.
Messwerte überwachen
Bevor Sie die Erzwingung aktivieren, sollten Sie prüfen, ob dadurch Ihre bestehenden legitimen Nutzer beeinträchtigt werden. Wenn Sie jedoch verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.
Um diese Entscheidung zu treffen, können Sie sich die App Check-Messwerte für die von Ihnen verwendeten Dienste ansehen:
- App Check-Anfragemesswerte 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) im Blick behalten.
- App Check-Anfragemesswerte für Cloud Functions überwachen:
App Check-Erzwingung 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:
- App Check-Durchsetzung 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 (neu).
- App Check-Erzwingung für Cloud Functions aktivieren.
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 von einer Continuous Integration-Umgebung (CI).
Wenn Sie Ihre App nach der Erzwingung von App Check in diesen Arten von Umgebungen ausführen möchten, müssen Sie einen Debug-Build Ihrer App erstellen, der den App Check-Debug-Anbieter anstelle eines Attestierungsanbieters für die Produktion verwendet.
Weitere Informationen finden Sie unter App Check mit dem Debugging-Anbieter in Flutter-Apps verwenden.
Preise
App Check erstellt in Ihrem Namen eine Bewertung, um das Antwort-Token des Nutzers jedes Mal zu validieren, wenn Ihre App das App Check-Token aktualisiert. Für jedes Assessment, das ü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 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 für das Token konfigurieren.