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

Nachdem Sie Ihre App für App Check registriert haben, kann sie normalerweise nicht in einem Emulator oder in einer CI-Umgebung (Continuous Integration) ausgeführt werden, 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, der anstelle eines echten Attestierungsanbieters den App Check-Debug-Anbieter verwendet.

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. Aktivieren Sie App Check mit dem Debug-Anbieter direkt nach der Initialisierung Ihrer 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 die Debug-Protokollierung in Ihrem Xcode-Projekt (Version 11.0 oder höher):

    1. Öffnen Sie Produkt > Schema > Schema bearbeiten.
    2. Wählen Sie im linken Menü Ausführen und dann den Tab Argumente aus.
    3. Fügen Sie im Bereich 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 Debug-Token in der 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. Rufen Sie in der Firebase Console Security > App Check auf.

  5. Registrieren Sie das gerade protokollierte Debug-Token.

    1. Suchen Sie auf dem Tab Apps nach Ihrer App.
    2. Wählen Sie im Überlaufmenü Ihrer App Debug-Tokens verwalten aus.
    3. Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Debug-Token zu registrieren.

    Screenshot des Menüpunkts „Debug-Tokens verwalten“

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

Da dieses Token den Zugriff auf Ihre Firebase-Ressourcen ohne gültiges Gerät ermöglicht, ist es wichtig, dass Sie es privat halten. Übertragen Sie es nicht in ein öffentliches Repository und widerrufen Sie es sofort in der Firebase Console, wenn ein registriertes Token kompromittiert wird.

Android

Wenn Sie den Debug-Anbieter verwenden möchten, 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_<chec>k.dart';

Futurevoid 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 gibt ein lokales Debug-Token in der Debug-Ausgabe aus, wenn Firebase versucht, eine Anfrage an das Back-End 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. Rufen Sie in der Firebase Console Security > App Check auf.

  2. Registrieren Sie das gerade protokollierte Debug-Token.

    1. Suchen Sie auf dem Tab Apps nach Ihrer App.
    2. Wählen Sie im Überlaufmenü Ihrer App Debug-Tokens verwalten aus.
    3. Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Debug-Token zu registrieren.

    Screenshot des Menüpunkts „Debug-Tokens verwalten“

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

Web

So verwenden Sie den Debug-Anbieter, während Sie Ihre App von 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 setzen:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Führen Sie Ihre Web-App lokal aus und öffnen Sie die Entwicklertools 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 immer verwendet, wenn Sie 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 auf den Tokenstring anstelle von true.

  3. Rufen Sie in der Firebase Console Security > App Check auf.

  4. Registrieren Sie das gerade protokollierte Debug-Token.

    1. Suchen Sie auf dem Tab Apps nach Ihrer App.
    2. Wählen Sie im Überlaufmenü Ihrer App Debug-Tokens verwalten aus.
    3. Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Debug-Token zu registrieren.

    Screenshot des Menüpunkts „Debug-Tokens verwalten“

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

Da dieses Token den Zugriff auf Ihre Firebase-Ressourcen ohne gültiges Gerät ermöglicht, ist es wichtig, dass Sie es privat halten. Übertragen Sie es nicht in ein öffentliches Repository und widerrufen Sie es sofort in der Firebase Console, wenn ein registriertes Token kompromittiert wird.