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. Rufen Sie in der Firebase-Konsole Sicherheit > App Check auf.

  3. Registrieren Sie auf dem Tab Apps Ihre Apps für die Verwendung von App Check mit den Anbietern Play Integrity, DeviceCheck und reCAPTCHA.

    Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, da nach der Aktivierung der Erzwingung für ein Firebase-Produkt nur registrierte Apps auf die Backend-Ressourcen des Produkts zugreifen können.

  4. 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 geleaktes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Bei kürzeren TTLs wird die Gerätebestätigung in Ihrer App häufiger ausgeführt. Da der Prozess zur App-Attestierung bei jeder Ausführung die Latenz von Netzwerkanfragen erhöht, 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 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 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 nach dem Aufrufen von Firebase.initializeApp().

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 beginnt, App Check-Tokens zusammen mit jeder Anfrage zu senden, die sie an Firebase richtet. Firebase-Produkte erfordern jedoch erst dann gültige Tokens, wenn Sie die Erzwingung im App Check-Bereich der Firebase-Konsole aktivieren.

Messwerte überwachen und Erzwingung aktivieren

Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch sicherstellen, dass dadurch keine bestehenden legitimen Nutzer beeinträchtigt werden. Wenn Sie hingegen eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.

Um Ihnen die Entscheidung zu erleichtern, 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 Sie bereit sind, fortzufahren, können Sie die App Check-Durchsetzung aktivieren:

App Check in Debugging-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 Continuous Integration-Umgebung (CI), können Sie einen Debug-Build Ihrer App erstellen, der anstelle eines echten Attestierungsanbieters den App Check-Debuganbieter verwendet.

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