Erste Schritte mit App Check mit reCAPTCHA v3 in Web-Apps

Auf dieser Seite erfahren Sie, wie Sie App Check in einer Web-App mit dem integrierten reCAPTCHA V3-Anbieter aktivieren. Wenn Sie App Check aktivieren, können Sie dazu beitragen, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann. Übersicht über diese Funktion

reCAPTCHA v3 ist für Nutzer nicht sichtbar. Der reCAPTCHA v3-Anbieter fordert Nutzer zu keinem Zeitpunkt auf, eine Aufgabe zu lösen. Weitere Informationen finden Sie in der reCAPTCHA v3-Dokumentation.

Wenn Sie App Check mit einem eigenen benutzerdefinierten Anbieter verwenden möchten, lesen Sie den Artikel Benutzerdefinierten App Check Anbieter implementieren.

1. Das Firebase-Projekt einrichten

  1. Fügen Sie Ihrem JavaScript-Projekt Firebase hinzu, falls noch nicht geschehen.

  2. Registrieren Sie Ihre Website für reCAPTCHA V3 und rufen Sie Ihren reCAPTCHA V3-Websiteschlüssel und Ihren Secret-Schlüssel ab.

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

  4. Registrieren Sie auf dem Tab Apps Ihre Apps für die Verwendung von App Check mit dem reCAPTCHA-Anbieter. Sie müssen den Secret-Schlüssel angeben, den Sie auf der reCAPTCHA-Website erhalten haben.

    In der Regel müssen Sie alle Apps Ihres Projekts registrieren. Wenn Sie die Erzwingung für ein Firebase-Produkt aktivieren, können nur registrierte Apps auf die Backend-Ressourcen des Produkts zugreifen.

  5. 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 den Zeitraum verkürzen, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Bei kürzeren TTLs führt Ihre App häufiger eine Attestierung durch. Da der App-Bestätigungsprozess bei jeder Ausführung die Latenz von Netzwerkanfragen erhöht, kann eine kurze TTL die Leistung Ihrer App beeinträchtigen.
    • Kontingent und Kosten: Kürzere TTLs und häufige erneute Bestätigungen führen dazu, dass Ihr Kontingent schneller aufgebraucht wird. Bei kostenpflichtigen Diensten können dadurch auch höhere Kosten entstehen. Weitere Informationen finden Sie unter Kontingente und Limits.

    Die Standard-TTL von 1 Tag ist für die meisten Apps angemessen. Beachten Sie, dass die App Check Bibliothek Tokens etwa nach der Hälfte der TTL-Dauer aktualisiert.

Erweiterte Einstellungen konfigurieren (optional)

Wenn ein Nutzer Ihre Web-App besucht, bewertet reCAPTCHA v3 das Risiko der Nutzerinteraktion und gibt eine Punktzahl zwischen 0,0 und 1,0 zurück. 1,0 steht für eine sehr wahrscheinlich gute Interaktion, 0,0 für einen sehr wahrscheinlichen Bot. App Check ermöglicht es Ihnen, einen Schwellenwert für das App-Risiko zu konfigurieren, um Ihre Toleranz für dieses Risiko anzupassen.

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

Details

App Check verwendet den konfigurierten Schwellenwert für das App-Risiko als Mindestpunktzahl für reCAPTCHA v3, die für eine Nutzerinteraktion erforderlich ist, damit sie als legitim gilt. Alle reCAPTCHA v3-Punktzahlen, die deutlich unter dem konfigurierten Schwellenwert für das App-Risiko liegen, werden abgelehnt. Beachten Sie beim Anpassen des Schwellenwerts für das App-Risiko Folgendes:

  • Wenn Sie die Verteilung der reCAPTCHA V3-Punktzahlen für Ihre Web-App beobachten möchten, rufen Sie die reCAPTCHA-Admin-Konsole auf und wählen Sie die Website aus, die Ihrer Web-App entspricht.
  • Wenn Sie eine niedrige Toleranz für das App-Risiko haben, verschieben Sie den Schieberegler nach links , um den Schwellenwert für das App-Risiko 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 Toleranz für das App-Risiko haben, verschieben Sie den Schieberegler nach rechts , um den Schwellenwert für das App-Risiko zu verringern.

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

Weitere Informationen finden Sie in der reCAPTCHA v3-Dokumentation.

2. Die App Check Bibliothek Ihrer 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 Websiteschlüssel, den Sie in der reCAPTCHA-Konsole erstellt haben, an activate() übergeben.

Web

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

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

// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'),

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true
});

Web

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

const appCheck = firebase.appCheck();
// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
appCheck.activate(
  'abcdefghijklmnopqrstuvwxy-1234567890abcd',

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

Nächste Schritte

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

Die aktualisierte Client-App sendet mit jeder Anfrage an Firebase App Check Tokens. Die Firebase-Produkte erfordern jedoch erst dann gültige Tokens, wenn Sie die Erzwingung im Bereich „App Check“ der Firebase-Konsole aktivieren.

Messwerte beobachten und Erzwingung aktivieren

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

Erzwingung aktivierenApp Check

Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und bereit sind, fortzufahren, können Sie die App Check Erzwingung 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 von App Check normalerweise nicht als gültig eingestuft wird, z. B. lokal während der Entwicklung oder in einer CI-Umgebung (Continuous Integration), können Sie einen Debug-Build Ihrer App erstellen, der den App Check Debug-Anbieter anstelle eines echten Bestätigungsanbieters verwendet.

Weitere Informationen finden Sie unter Verwenden Sie App Check mit dem Debugger-Anbieter in Web-Apps.