Erste Schritte bei der Verwendung von App Check mit reCAPTCHA Enterprise in Web-Apps

Plattform auswählen: iOS+ Android Web Flutter


Auf dieser Seite erfahren Sie, wie Sie App Check in einer Webanwendung mit dem reCAPTCHA Enterprise-Anbieter 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, fügen Sie Ihrem JavaScript-Projekt Firebase hinzu.

  2. Rufen Sie in derGoogle 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 vom Typ Web und geben Sie jede der 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 diesen Schlüssel. Sie müssen sie dem Registrierungsablauf in der Firebase-Konsole hinzufügen.

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

  4. Registrieren Sie auf dem Tab Apps Ihre Web-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:

    • Sicherheit: Kürzere TTLs bieten mehr Sicherheit, da sie das Zeitfenster verringern, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Bei kürzeren TTLs wird die Attestierung in Ihrer App häufiger durchgeführt. Da der Prozess zur App-Attestierung die Latenz von Netzwerkanfragen jedes Mal erhöht, wenn er ausgeführt wird, 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 von 1 Stunde ist für die meisten Apps angemessen. Die App Check-Bibliothek aktualisiert Tokens etwa 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.

In den meisten Anwendungsfällen 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 (Sicherheit > App Check). Wichtige Überlegungen zur Konfiguration des App-Risikoschwellenwerts finden Sie unten.

2. App Check-Bibliothek zur App hinzufügen

Falls noch nicht geschehen, installieren Sie das Firebase JavaScript SDK und initialisieren Sie Firebase in Ihrer App.

3. App Check initialisieren

Fügen Sie den folgenden App Check-Initialisierungscode früh in Ihrer App ein, damit er ausgeführt wird, bevor Sie auf Firebase-Dienste in Ihrer App zugreifen.

Achten Sie darauf, dass Sie denselben reCAPTCHA-Schlüssel übergeben, den Sie zum Registrieren Ihrer App bei reCAPTCHA Enterprise in der Firebase-Konsole verwendet haben (siehe erster Abschnitt des Leitfadens).

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check";

const app = initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance
// using your reCAPTCHA Enterprise key and pass it to `initializeAppCheck()`.
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(RECAPTCHA_KEY),
  isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});

Web

firebase.initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance
// using your reCAPTCHA Enterprise key and pass it to `activate()`.
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    RECAPTCHA_KEY
  ),
  true // Set to true to allow auto-refresh.
);

4. Messwerte im Blick behalten 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.

Um diese Entscheidung zu treffen, 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 Erzwingung von App Check aktivieren:

App Check in Debugging-Umgebungen verwenden

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

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

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

Preise

App Check erstellt in Ihrem Namen eine Bewertung, um das Antwort-Token des Nutzers jedes Mal zu validieren, wenn Ihre App das App Check-Token aktualisiert. Für jedes Assessment, das über das kostenlose Kontingent hinaus erstellt wird, fallen Kosten für Ihr Firebase-Projekt an. Weitere Informationen finden Sie unter reCAPTCHA-Preise.

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