Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Beginnen Sie mit der Verwendung von App Check in Flutter-Apps

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Diese Seite zeigt Ihnen, wie Sie App Check in einer Flutter-App aktivieren, indem Sie die Standardanbieter verwenden: SafetyNet auf Android, Device Check auf Apple-Plattformen und reCAPTCHA v3 im Web. Wenn Sie App Check aktivieren, tragen Sie dazu bei, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann. Sehen Sie sich eine Übersicht über diese Funktion an.

1. Richten Sie Ihr Firebase-Projekt ein

  1. Installieren und initialisieren Sie FlutterFire , falls Sie dies noch nicht getan haben.

  2. Registrieren Sie für jede Plattform, für die Sie erstellen, die App zur Verwendung von App Check bei den Anbietern SafetyNet (Android), Device Check (Apple) und reCAPTCHA v3 (Web). Sie können dies im Abschnitt Projekteinstellungen > App-Prüfung der Firebase-Konsole tun.

    Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, denn sobald Sie die Erzwingung für ein Firebase-Produkt aktivieren, können nur registrierte Apps auf die Back-End-Ressourcen des Produkts zugreifen.

  3. Optional : Legen Sie in den App-Registrierungseinstellungen eine benutzerdefinierte Gültigkeitsdauer (Time-to-Live, TTL) für vom Anbieter ausgestellte App Check-Token fest. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen einstellen. Beachten Sie beim Ändern dieses Werts die folgenden Kompromisse:

    • Sicherheit: Kürzere TTLs bieten mehr Sicherheit, da sie das Fenster verkleinern, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Kürzere TTLs bedeuten, dass Ihre App die Bestätigung häufiger durchführt. Da der App-Bestätigungsprozess bei jeder Ausführung Latenz für Netzwerkanforderungen hinzufügt, kann eine kurze TTL die Leistung Ihrer App beeinträchtigen.
    • Kontingent und Kosten: Kürzere TTLs und häufige Neubescheinigungen erschöpfen Ihr Kontingent schneller und kosten bei kostenpflichtigen Diensten möglicherweise mehr. Siehe Kontingente und Limits .

    Die Standard-TTL ist für die meisten Apps angemessen. Beachten Sie, dass die App Check-Bibliothek Token bei etwa der Hälfte der TTL-Dauer aktualisiert.

2. Fügen Sie Ihrer App die App Check-Bibliothek hinzu

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

    flutter pub add firebase_app_check
    
  2. Wenn Sie fertig sind, erstellen Sie Ihre Flutter-Anwendung neu:

    flutter run
    

3. App-Check initialisieren

Fügen Sie Ihrer App den folgenden Initialisierungscode hinzu, damit sie 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(
    webRecaptchaSiteKey: 'recaptcha-v3-site-key',  // If you're building a web app.
  );
  runApp(App());
}

Nächste Schritte

Sobald die App Check-Bibliothek in Ihrer App installiert ist, beginnen Sie mit der Verteilung der aktualisierten App an Ihre Benutzer.

Die aktualisierte Client-App beginnt mit dem Senden von App-Check-Tokens zusammen mit jeder Anfrage, die sie an Firebase sendet, aber Firebase-Produkte verlangen nicht, dass die Tokens gültig sind, bis Sie die Erzwingung im Abschnitt „App-Check“ der Firebase-Konsole aktivieren.

Überwachen Sie Metriken und aktivieren Sie die Durchsetzung

Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch sicherstellen, dass dadurch Ihre vorhandenen legitimen Benutzer nicht gestört werden. Wenn Sie andererseits 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 sich die App Check-Metriken für die von Ihnen verwendeten Dienste ansehen:

App-Check-Erzwingung aktivieren

Wenn Sie verstehen, wie sich App Check auf Ihre Benutzer auswirkt, und Sie fortfahren möchten, können Sie die Erzwingung von App Check aktivieren:

Verwenden Sie App Check in Debug-Umgebungen

Wenn Sie Ihre App nach der Registrierung für App Check in einer Umgebung ausführen möchten, die App Check normalerweise nicht als gültig einstufen würde, z Erstellen Sie einen Debug-Build Ihrer App, der den App Check-Debug-Anbieter anstelle eines echten Nachweisanbieters verwendet.

Siehe Verwenden von App Check mit dem Debug-Anbieter in Flutter-Apps .