Erste Schritte mit App Check mit reCAPTCHA Enterprise in Flutter-Apps

Plattform auswählen: iOS+ Android Web Flutter


Auf dieser Seite erfahren Sie, wie Sie App Check in einer Flutter-App mit dem reCAPTCHA Enterprise-Provider einrichten. App Check trägt dazu bei, dass nur Ihre App auf die Backend-Ressourcen Ihres Projekts zugreifen kann. Weitere InformationenApp Check

Für App Check sind auf dem Score basierende reCAPTCHA-Schlüssel erforderlich, die für Nutzer nicht sichtbar sind. Das bedeutet, dass der reCAPTCHA Enterprise-Anbieter Nutzer zu keinem Zeitpunkt auffordert, eine Aufgabe zu lösen.

Wenn für Ihren Anwendungsfall reCAPTCHA Enterprise-Funktionen erforderlich sind, die nicht von App Check implementiert werden, oder wenn Sie App Check mit Ihrem eigenen benutzerdefinierten Anbieter verwenden möchten, lesen Sie den Abschnitt Benutzerdefinierten App Check-Anbieter implementieren.

1. Das Firebase-Projekt einrichten

  1. Falls noch nicht geschehen, installieren und initialisieren Sie Firebase in Ihrem Flutter-Projekt.

  2. Rufen Sie in der Google CloudConsole die Seite Fraud Defense auf und gehen Sie für den reCAPTCHA Enterprise-Anbieter so vor:

    1. Achten Sie darauf, dass Sie sich im richtigen Projekt befinden (siehe Projektauswahl oben auf dem Bildschirm).

    2. Aktivieren Sie bei entsprechender Aufforderung die reCAPTCHA Enterprise API.

    3. Erstellen Sie einen Schlüssel für Ihre Zielplattform:

      iOS+

      Erstellen Sie einen Schlüssel vom Typ iOS und geben Sie die Paket-ID Ihrer App an (z. B. com.example.my_app).

      • Achten Sie darauf, dass Sie dieselbe Paket-ID eingeben, die Sie beim Erstellen Ihrer Firebase-Apple-App in Ihrem Firebase-Projekt angegeben haben. Beim Wert der Set-ID wird zwischen Groß- und Kleinschreibung unterschieden.

      • Bei App Check kann jede Paket-ID nur einem einzelnen reCAPTCHA-Schlüssel entsprechen.

      Android

      Erstellen Sie einen Schlüssel vom Typ Android und geben Sie den Paketnamen Ihrer App an (z. B. com.example.my_app).

      • Achten Sie darauf, dass Sie denselben Paketnamen eingeben, den Sie beim Erstellen Ihrer Firebase-Android-App in Ihrem Firebase-Projekt angegeben haben. Beim Wert für den Paketnamen wird die Groß-/Kleinschreibung beachtet.

      • Für App Check kann jeder Paketname nur einem einzigen reCAPTCHA-Schlüssel entsprechen.

      Web

      Erstellen Sie einen Schlüssel vom Typ Web und geben Sie die einzelnen Domains für Ihre Web-Apps an.

      • App Check unterstützt nicht Web-Apps, die auf mehr als 250 Domains bereitgestellt werden.

      • Fügen Sie localhost niemals als Domain zu einem reCAPTCHA-Schlüssel hinzu, der in der Produktion bereitgestellt wird oder werden soll.

      • Lassen Sie die Option „Checkbox-Challenge verwenden“ deaktiviert.

      Eine detaillierte Anleitung finden Sie unter Schlüssel für reCAPTCHA-basierte Scores erstellen.

    4. Notieren Sie sich jeden Schlüssel. Sie müssen sie in der Firebase-Konsole in den Registrierungsprozess einfügen.

  3. Rufen Sie in der Firebase-Konsole Sicherheit > App Check auf.

  4. Registrieren Sie auf dem Tab Apps jede Ihrer Zielplattform-Apps für die Verwendung von App Check mit dem reCAPTCHA Enterprise-Anbieter. Sie müssen den Schlüssel angeben, den Sie in der Google Cloud-Konsole erhalten haben.

  5. Optional: Legen Sie die Gültigkeitsdauer (Time To Live, TTL) für das Token fest.

    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:

    Die Standard-TTL von 1 Stunde ist für die meisten Apps angemessen. Die App Check-Bibliothek aktualisiert Tokens ungefähr nach der Hälfte der TTL-Dauer.

  6. Optional: Erweiterte Einstellungen konfigurieren

  7. Klicken Sie auf Speichern.

(Optional) Erweiterte Einstellungen konfigurieren

Wenn ein Nutzer Ihre App öffnet, bewertet reCAPTCHA Enterprise das Risiko der Nutzerinteraktion unter dem Schlüssel und gibt eine Punktzahl zwischen 0,0 und 1,0 in Schritten von 0,1 zurück.

  • Ein Wert von 0,0 bedeutet, dass die Interaktion ein hohes Risiko darstellt und betrügerisch sein kann.
  • Ein Wert von 1,0 bedeutet, dass die Interaktion ein geringes Risiko darstellt und sehr wahrscheinlich legitim ist.

Mit App Check können Sie einen App-Risikoschwellenwert konfigurieren, um Ihre Toleranz für dieses Risiko anzupassen.

Für die meisten Anwendungsfälle wird der Standardgrenzwert von 0, 5 empfohlen. Wenn Ihr Anwendungsfall eine Anpassung erfordert, können Sie diesen Wert für jede Ihrer Apps in der Firebase-Konsole konfigurieren (gehen Sie zu Sicherheit > App Check). Unten finden Sie einige wichtige Hinweise zur Konfiguration des App-Risikoschwellenwerts, die Sie sich ansehen sollten.

2. App Check-Plug-in zur App hinzufügen

Wenn Sie den reCAPTCHA Enterprise-Anbieter verwenden möchten, müssen Sie das entsprechende App Check-Plug-in 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. Wenn Sie fertig sind, erstellen Sie Ihr Flutter-Projekt neu:

    flutter run
    

3. App Check initialisieren

In Ihrer App müssen Sie App Check initialisieren, bevor Sie andere Firebase-Dienste verwenden.

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'firebase_options.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  await FirebaseAppCheck.instance.activate(
    providerWeb: ReCaptchaEnterpriseProvider(WEB_SITE_KEY),
    providerAndroid: const AndroidReCaptchaProvider(ANDROID_SITE_KEY),
    providerApple: const AppleReCaptchaProvider(IOS_SITE_KEY),
  );
  runApp(App());
}

4. Messwerte überwachen und Erzwingung aktivieren

Nachdem Sie App Check in Ihrer App eingerichtet haben, 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. App Check blockiert jedoch erst dann Anfragen mit ungültigen Tokens, wenn App Check erzwungen wird.

Messwerte überwachen

Bevor Sie die Erzwingung aktivieren, sollten Sie prüfen, ob dadurch Ihre bestehenden legitimen Nutzer beeinträchtigt werden. Wenn Sie jedoch 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:

Erzwingung von App Check 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

App Check klassifiziert einige Umgebungen als ungültig, z. B. Anfragen von einem Emulator / Simulator oder von localhost während der Entwicklung oder von einer CI-Umgebung (Continuous Integration).

Wenn Sie Ihre App nach der Einführung von App Check in diesen Umgebungen ausführen möchten, müssen Sie einen Debug-Build Ihrer App erstellen, der anstelle eines Attestierungsanbieters für die Produktion den App Check-Debug-Anbieter verwendet.

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

Preise

Mit App Check wird in Ihrem Namen eine Bewertung erstellt, um das Antwort-Token des Nutzers jedes Mal zu validieren, wenn Ihre App ihr App Check-Token aktualisiert. Für jedes über dem kostenlosen Kontingent erstellte Assessment wird Ihr Firebase-Projekt belastet. Weitere Informationen finden Sie unter Preise für reCAPTCHA.

Standardmäßig wird dieses Token in Ihrer App zweimal pro Stunde aktualisiert. Wenn Sie festlegen möchten, wie oft Ihre App App Check-Tokens aktualisiert (und damit, wie oft neue Prüfungen erstellt werden), können Sie die TTL des Tokens konfigurieren.