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

Auf dieser Seite erfahren Sie, wie Sie App Check in einer Web-App mit dem reCAPTCHA Enterprise-Anbieter aktivieren. Wenn Sie App Check aktivieren, können nur Ihre Apps auf die Backend-Ressourcen Ihres Projekts zugreifen. Übersicht über diese Funktion

App Check verwendet auf Punktzahlen basierende reCAPTCHA Enterprise-Websiteschlüssel, die für Nutzer unsichtbar sind. Der reCAPTCHA Enterprise-Anbieter fordert Nutzer zu keinem Zeitpunkt auf, 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. Fügen Sie Ihrem JavaScript-Projekt Firebase hinzu, falls noch nicht geschehen.

  2. Öffnen Sie in der Cloud Console den Bereich reCAPTCHA Enterprise und gehen Sie so vor:

    1. Wenn Sie aufgefordert werden, die reCAPTCHA Enterprise API zu aktivieren, tun Sie dies.
    2. Erstellen Sie einen Schlüssel vom Typ Website. Sie müssen Domains angeben, auf denen Sie Ihre Web-App hosten. Lassen Sie die Option „Checkbox-Challenge verwenden“ deaktiviert.
  3. Registrieren Sie Ihre Apps für die Verwendung von App Check mit dem reCAPTCHA Enterprise-Anbieter im Bereich App Check der Firebase-Konsole. Sie müssen den Website-Schlüssel angeben, den Sie im vorherigen Schritt erhalten haben.

    Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, da nach der Aktivierung der Erzwingung für ein Firebase-Produkt nur registrierte Apps auf die Backend-Ressourcen des Produkts zugreifen können.

  4. Optional: 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 geleaktes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Bei kürzeren TTLs wird die Gerätebestätigung in Ihrer App häufiger ausgeführt. Da der Prozess zur App-Attestierung bei jeder Ausführung die Latenz von Netzwerkanfragen erhöht, 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.

Erweiterte Einstellungen konfigurieren (optional)

Wenn ein Nutzer Ihre Web-App besucht, bewertet reCAPTCHA Enterprise das Risiko der Nutzerinteraktion und gibt eine Punktzahl zwischen 0,0 und 1,0 in Schritten von 0,1 zurück. Der Wert 1,0 gibt an, dass die Interaktion ein geringes Risiko darstellt und sehr wahrscheinlich legitim ist. 0,0 gibt jedoch an, dass die Interaktion ein hohes Risiko darstellt und betrügerisch sein kann. Mit App Check können Sie einen App-Risiko-Schwellenwert konfigurieren, um Ihre Toleranz für dieses Risiko anzupassen.

In den meisten Anwendungsfällen wird der Standardgrenzwert von 0, 5 empfohlen. Wenn für Ihren Anwendungsfall eine Anpassung erforderlich ist, kann diese im Bereich App Check der Firebase-Konsole für jede Ihrer Web-Apps konfiguriert werden.

Details

App Check verwendet den von Ihnen konfigurierten App-Risikoschwellenwert als Mindestpunktzahl für reCAPTCHA Enterprise, die für eine Nutzerinteraktion erforderlich ist, damit sie als legitim gilt. Alle reCAPTCHA Enterprise-Punktzahlen, die streng unter dem konfigurierten Grenzwert liegen, werden abgelehnt. Beachten Sie beim Anpassen des App-Risikoschwellenwerts Folgendes:

  • Von den 11 möglichen reCAPTCHA Enterprise-Punktzahl-Stufen sind nur die folgenden vier verfügbar, bevor Sie Ihrem Projekt ein Google Cloud-Rechnungskonto hinzufügen: 0,1, 0,3, 0,7 und 0,9. In dieser Zeit sind für App Check nur die folgenden Grenzwerte für das App-Risiko zulässig: 0,1, 0,3, 0,5, 0,7 und 0,9. Für die meisten Anwendungsfälle wird weiterhin ein Schwellenwert für das App-Risiko von 0,5 empfohlen.

    • Wenn Sie alle 11 reCAPTCHA Enterprise-Score-Ebenen aktivieren möchten, fügen Sie Ihrem Projekt ein Google Cloud-Rechnungskonto hinzu. Eine Möglichkeit dazu ist, auf den Blaze-Tarif umzustellen. Anschließend können Sie in App Check beliebige Schwellenwerte für das App-Risiko zwischen 0,0 und 1,0 in Schritten von 0,1 konfigurieren.

  • Wenn Sie die Verteilung der hohen und niedrigen reCAPTCHA Enterprise-Punktzahlen für Ihre Webanwendung im Blick behalten möchten, rufen Sie die reCAPTCHA Enterprise-Seite in der Google Cloud-Konsole auf und wählen Sie den von Ihrer Webanwendung verwendeten Websiteschlüssel aus.

  • Wenn Sie eine niedrige Risikotoleranz für Apps haben, ziehen Sie den Schieberegler nach links, um den App-Risikoschwellenwert zu erhöhen.

    • Ein Wert von 1,0 wird nicht empfohlen, da diese Einstellung auch dazu führen kann, dass berechtigte Nutzer, die den entsprechenden hohen Grenzwert nicht erfüllen, keinen Zugriff haben.
  • Wenn Sie eine hohe Risikotoleranz für Apps haben, bewegen Sie den Schieberegler nach rechts, um den App-Risikoschwellenwert zu verringern.

    • Ein Wert von 0,0 wird nicht empfohlen, da durch diese Einstellung der Schutz vor Missbrauch deaktiviert wird.

Weitere Informationen finden Sie in der reCAPTCHA Enterprise-Dokumentation.

2. App Check-Bibliothek zur App hinzufügen

Fügen Sie Ihrer Web-App Firebase hinzu, falls noch nicht geschehen. Achten Sie darauf, die App Check-Bibliothek zu importieren.

3. App Check initialisieren

Fügen Sie Ihrer Anwendung den folgenden Initialisierungscode hinzu, bevor Sie auf Firebase-Dienste zugreifen. Sie müssen Ihren reCAPTCHA Enterprise-Websiteschlüssel, den Sie in der Cloud Console erstellt haben, an activate() übergeben.

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
// site key and pass it to initializeAppCheck().
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site 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
// site key and pass it to activate().
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    /* reCAPTCHA Enterprise site key */
  ),
  true // Set to true to allow auto-refresh.
);

Nächste Schritte

Nachdem die App Check-Bibliothek in Ihrer App installiert wurde, stellen Sie sie bereit.

Die aktualisierte Client-App sendet App Check-Tokens mit jeder Anfrage an Firebase. Für Firebase-Produkte müssen die Tokens jedoch erst gültig sein, wenn Sie die Erzwingung im Bereich App Check der Firebase Console aktivieren.

Messwerte überwachen und Erzwingung aktivieren

Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch sicherstellen, dass dadurch keine 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

Wenn Sie Ihre App nach der Registrierung für App Check in einer Umgebung ausführen möchten, die normalerweise nicht als gültig eingestuft wird, z. B. lokal während der Entwicklung oder in einer Umgebung für kontinuierliche Integration (CI), können Sie einen Debug-Build Ihrer App erstellen, der anstelle eines echten Attestierungsanbieters den App Check-Debug-Anbieter verwendet.App Check

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

Hinweis zu Kosten

App Check erstellt in Ihrem Namen eine Bewertung, um das Antwort-Token des Nutzers jedes Mal zu validieren, wenn ein Browser, auf dem Ihre Web-App ausgeführt wird, sein App Check-Token aktualisiert. Für jede Bewertung, die über das kostenlose Kontingent hinaus erstellt wird, fallen Kosten für Ihr Projekt an. Weitere Informationen finden Sie unter reCAPTCHA-Preise.

Standardmäßig wird dieses Token in Ihrer Web-App 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, konfigurieren Sie die Gültigkeitsdauer.