App Check mit dem Debugging-Anbieter für Flutter verwenden

Nachdem Sie Ihre App für App Check registriert haben, wird sie normalerweise nicht in einem Emulator oder in einer Continuous-Integration-Umgebung (CI) ausgeführt, da diese Umgebungen nicht als gültige Geräte gelten. Wenn Sie Ihre App während der Entwicklung und des Tests in einer solchen Umgebung ausführen möchten, können Sie einen Debug-Build Ihrer App erstellen, bei dem der App Check-Debuganbieter anstelle eines echten Attestierungsanbieters verwendet wird.

Apple-Plattformen

So verwenden Sie den Debug-Anbieter, während Sie Ihre App interaktiv in einem Simulator ausführen (z. B. während der Entwicklung):

  1. App Check direkt nach der Initialisierung mit dem Debug-Anbieter aktivieren Ihre Firebase-App:

    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(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. Aktivieren Sie das Debugging-Logging in Ihrem Xcode-Projekt (Version 11.0 oder höher):

    1. Öffnen Sie Produkt > Schema > Schema bearbeiten.
    2. Wählen Sie im Menü auf der linken Seite Ausführen und dann den Tab Argumente aus.
    3. Fügen Sie im Abschnitt Beim Start übergebene Argumente -FIRDebugEnabled hinzu.
  3. Öffnen Sie ios/Runner.xcworkspace mit Xcode und führen Sie Ihre App im Simulator aus. Ihre App gibt ein lokales Fehlerbehebungstoken an die Debug-Ausgabe aus, wenn Firebase versucht, eine Anfrage an das Back-End zu senden. Beispiel:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Wählen Sie in der Firebase-Konsole im Bereich App Check im Dreipunkt-Menü Ihrer App die Option Debug-Tokens verwalten aus. Registrieren Sie dann das Debug-Token, das Sie im vorherigen Schritt protokolliert haben.

    Screenshot des Menüpunkts „Fehlerbehebungstokens verwalten“

Nachdem Sie das Token registriert haben, wird es von den Firebase-Backend-Diensten als gültig akzeptiert.

Da mit diesem Token ohne gültiges Gerät auf Ihre Firebase-Ressourcen zugegriffen werden kann, ist es wichtig, dass Sie es für sich behalten. Legen Sie sie nicht fest öffentliches Repository und sollte ein registriertes Token widerrufen, wenn es kompromittiert wurde. sofort in der Firebase Console angezeigt.

Android

So verwenden Sie den Debug-Anbieter, während Sie Ihre Flutter-App in einer Android-Umgebung ausführen: Implementieren Sie den folgenden Code in Ihrer Flutter-Anwendung:

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',
    // Set androidProvider to `AndroidProvider.debug`
    androidProvider: AndroidProvider.debug,
  );
  runApp(App());
}

Ihre App druckt ein lokales Debug-Token in die Debug-Ausgabe, wenn Firebase versucht, eine Anfrage an das Backend zu senden. Beispiel:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. Wählen Sie in der Firebase-Konsole im Bereich App Check im Dreipunkt-Menü Ihrer App die Option Debug-Tokens verwalten aus. Registrieren Sie dann das Fehlerbehebungstoken, das Sie im vorherigen Schritt Schritt.

    Screenshot des Menüpunkts „Fehlerbehebungstokens verwalten“

Nachdem Sie das Token registriert haben, akzeptieren die Firebase-Back-End-Dienste es als gültig.

Web

So verwenden Sie den Debuganbieter, während Sie Ihre App über localhost ausführen (z. B. während der Entwicklung):

  1. Aktivieren Sie in der Datei web/index.html den Debug-Modus, indem Sie self.FIREBASE_APPCHECK_DEBUG_TOKEN auf true festlegen:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Führen Sie Ihre Webanwendung lokal aus und öffnen Sie das Entwicklertool des Browsers. In der Debug-Konsole wird ein Debug-Token angezeigt:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.

    Dieses Token wird lokal in Ihrem Browser gespeichert und verwendet, Ihre App im selben Browser auf demselben Computer verwenden. Wenn Sie das Token in einem anderen Browser oder auf einem anderen Computer verwenden möchten, setzen Sie self.FIREBASE_APPCHECK_DEBUG_TOKEN anstelle von true als Token-String.

  3. Im Bereich App Check der Firebase-Konsole die Option Debug-Tokens verwalten aus der Dreipunkt-Menü. Registrieren Sie dann das Fehlerbehebungstoken, das Sie im vorherigen Schritt Schritt.

    Screenshot des Menüpunkts „Fehlerbehebungstokens verwalten“

Nachdem Sie das Token registriert haben, wird es von den Firebase-Backend-Diensten als gültig akzeptiert.

Da dieses Token den Zugriff auf Ihre Firebase-Ressourcen ermöglicht, ein gültiges Gerät haben, müssen Sie es privat halten. Legen Sie sie nicht fest öffentliches Repository und sollte ein registriertes Token widerrufen, wenn es kompromittiert wurde. sofort in der Firebase Console angezeigt.