Erste Schritte mit App Check in Flutter-Apps

Auf dieser Seite erfahren Sie, wie Sie App Check in einer Flutter-App mit den Standardanbietern aktivieren: Play Integrity unter Android, Device Check auf Apple-Plattformen und reCAPTCHA v3 im Web. Wenn Sie App Check aktivieren, können Sie dafür sorgen, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann. Übersicht über diese Funktion

1. Das Firebase-Projekt einrichten

  1. Installieren und initialisieren Sie FlutterFire, falls noch nicht geschehen.

  2. Registrieren Sie Ihre Apps für die Verwendung von App Check mit den Anbietern Play Integrity, Device Check und reCAPTCHA im Bereich Projekteinstellungen > App Check der Firebase Console.

    In der Regel müssen Sie alle Apps Ihres Projekts registrieren. Sobald Sie die Erzwingung für ein Firebase-Produkt aktivieren, können nur registrierte Apps auf die Backend-Ressourcen des Produkts zugreifen.

  3. Optional: 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 führt Ihre App häufiger eine Attestierung durch. Da der App-Attestierungsprozess bei jeder Ausführung die Latenzzeit 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 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 ist für die meisten Apps angemessen. Die App Check-Bibliothek aktualisiert Tokens etwa nach der Hälfte der TTL-Dauer.

2. App Check-Bibliothek zur App hinzufügen

  1. Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Plug-in zu installieren:

    flutter pub add firebase_app_check
    
  2. Erstellen Sie nach Abschluss der Installation 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 Sie Firebase.initializeApp() aufgerufen haben.

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 App Check-Tokens mit jeder Anfrage an Firebase. Die Firebase-Produkte erfordern jedoch erst dann gültige Tokens, wenn Sie die Erzwingung im Bereich „App Check“ der Firebase Console aktivieren.

Messwerte beobachten und Erzwingung aktivieren

Bevor Sie die Erzwingung aktivieren, sollten Sie prüfen, ob dadurch Ihre bestehenden legitimen Nutzer beeinträchtigt werden. Wenn Sie andererseits eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.

Zur Entscheidungsfindung können Sie sich die App Check-Messwerte für die von Ihnen verwendeten Dienste ansehen:

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:

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, der den App Check-Debug-Anbieter anstelle eines echten Attestierungsanbieters verwendet.

Weitere Informationen finden Sie unter App Check mit dem Debug-Anbieter in Flutter-Apps verwenden.