Auf dieser Seite erfahren Sie, wie Sie App Check in einer Webanwendung mit dem reCAPTCHA Enterprise-Anbieter aktivieren. Wenn Sie App Check aktivieren, können nur Ihre App und keine anderen Apps auf die Firebase-Ressourcen Ihres Projekts zugreifen. Hier finden Sie eine Übersicht.
Hinweis: App Check verwendet punktzahlbasierte reCAPTCHA Enterprise-Websiteschlüssel, sodass es für Nutzer nicht sichtbar ist. Der reCAPTCHA Enterprise-Anbieter verlangt von Nutzern nicht zu jeder Zeit, eine Herausforderung zu lösen.
Wenn Sie App Check mit einem eigenen benutzerdefinierten Anbieter verwenden möchten, lesen Sie den Hilfeartikel Benutzerdefinierten App Check-Anbieter implementieren.
1. Das Firebase-Projekt einrichten
Fügen Sie Ihrem JavaScript-Projekt Firebase hinzu, falls noch nicht geschehen.
Öffnen Sie den Bereich reCAPTCHA Enterprise in der Cloud Console und gehen Sie so vor:
- Wenn Sie aufgefordert werden, die reCAPTCHA Enterprise API zu aktivieren, tun Sie dies.
- Erstellen Sie einen Schlüssel vom Typ Website. Sie müssen Domains angeben, auf denen Sie Ihre Webanwendung hosten. Lassen Sie die Option „Kästchen-Bestätigung verwenden“ deaktiviert.
Registrieren Sie Ihre Anwendungen für die Verwendung von App Check beim reCAPTCHA Enterprise-Anbieter im Abschnitt App Check der Firebase Console. Sie müssen den Websiteschlüssel angeben, den Sie im vorherigen Schritt erhalten haben.
Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, da nur registrierte Apps auf die Backend-Ressourcen eines Firebase-Produkts zugreifen können, wenn Sie die Erzwingung für ein Firebase-Produkt aktivieren.
Optional: Legen Sie in den Einstellungen für die App-Registrierung eine benutzerdefinierte Gültigkeitsdauer (Time to Live, TTL) für vom Anbieter ausgestellte App Check-Tokens fest. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen festlegen. Beachten Sie beim Ändern dieses Werts Folgendes:
- Sicherheit: Kürzere TTLs bieten eine höhere Sicherheit, da dadurch das Zeitfenster reduziert wird, in dem ein gehacktes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
- Leistung: Eine kürzere TTL bedeutet, dass Ihre App die Attestierung häufiger durchführt. Da der Attestierungsprozess für Apps bei jeder Ausführung zu einer Latenz bei Netzwerkanfragen führt, kann eine kurze TTL sich auf die Leistung Ihrer App auswirken.
- Kontingent und Kosten: Kürzere TTLs und häufige Neuattestierungen verringern 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. Hinweis: Die App Check-Bibliothek aktualisiert Tokens nach etwa der Hälfte der TTL-Dauer.
2. App Check-Bibliothek zur App hinzufügen
Fügen Sie Firebase zu Ihrer Web-App hinzu, falls noch nicht geschehen. Importieren Sie die App Check-Bibliothek.
3. App Check initialisieren
Fügen Sie Ihrer Anwendung den folgenden Initialisierungscode hinzu, bevor Sie auf Firebase-Dienste zugreifen. Sie müssen Ihren in der Cloud Console erstellten reCAPTCHA Enterprise-Websiteschlüssel 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 ist, können Sie sie bereitstellen.
Die aktualisierte Client-App sendet dann mit jeder Anfrage an Firebase App Check-Token. Für Firebase-Produkte müssen die Token jedoch erst dann gültig sein, wenn Sie die Erzwingung im Bereich App Check der Firebase Console aktivieren.
Messwerte beobachten und Erzwingung aktivieren
Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch prüfen, ob dies die Nutzung für Ihre bestehenden rechtmäßigen Nutzer nicht beeinträchtigt. Wenn Sie jedoch eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung früher aktivieren.
Als Entscheidungshilfe können Sie sich die App Check-Messwerte für die von Ihnen verwendeten Dienste ansehen:
- Überwachen Sie die Anfragemesswerte vom Typ App Check für Realtime Database, Cloud Firestore, Cloud Storage, Authentication (Beta) und Vertex AI in Firebase.
- Überwachen Sie die Anfragemesswerte von App Check für Cloud Functions.
App Check-Erzwingung aktivieren
Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, können Sie die Erzwingung von App Check aktivieren:
- Aktivieren Sie die Erzwingung von App Check für Realtime Database, Cloud Firestore, Cloud Storage, Authentication (Beta) und Vertex AI in Firebase.
- Aktivieren Sie die App Check-Erzwingung für Cloud Functions.
App Check in Debug-Umgebungen verwenden
Wenn Sie Ihre Anwendung für App Check registriert haben und sie 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 Umgebung für kontinuierliche Integration (CI), können Sie einen Debug-Build Ihrer App erstellen, der den App Check-Debuganbieter anstelle eines echten Attestierungsanbieters verwendet.
Weitere Informationen finden Sie unter App Check mit dem Debug-Anbieter in Web-Apps verwenden.
Hinweis zu den Kosten
App Check erstellt in Ihrem Namen eine Bewertung, um das Antworttoken des Nutzers jedes Mal zu validieren, wenn ein Browser, in dem Ihre Webanwendung ausgeführt wird, sein App Check-Token aktualisiert. Für Ihr Projekt werden Kosten für jede Bewertung berechnet, die über dem kostenlosen Kontingent liegt. Weitere Informationen finden Sie unter Preise für reCAPTCHA.
Standardmäßig aktualisiert Ihre Webanwendung dieses Token zweimal pro 1 Stunde. 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.