Auf dieser Seite erfahren Sie, wie Sie App Check in einer Web-App mit dem reCAPTCHA Enterprise-Anbieter aktivieren. Wenn Sie App Check aktivieren, tragen Sie dazu bei, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann. Ü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 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
Fügen Sie Ihrem JavaScript-Projekt Firebase hinzu, falls noch nicht geschehen.
Öffnen Sie in der Cloud Console den Bereich reCAPTCHA Enterprise 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 Web-App hosten. Lassen Sie die Option „Checkbox-Challenge verwenden“ deaktiviert.
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.
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 das App-Attestierungsverfahren 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.
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 zusammen mit jeder Anfrage an Firebase. Bei Firebase-Produkten müssen die Tokens jedoch erst gültig sein, wenn Sie die Erzwingung im Bereich App Check der Firebase Console aktivieren.
Messwerte im Blick behalten 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-Anfragemesswerte für Data Connect, Firebase AI Logic, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity für iOS, Maps JavaScript API und Places API (New) im Blick behalten.
- App Check-Anfragemesswerte für Cloud Functions überwachen:
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-Durchsetzung aktivieren für Data Connect, Firebase AI Logic, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (neu).
- Aktivieren Sie die Erzwingung von App Check für Cloud Functions.
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, in dem Ihre Web-App ausgeführt wird, das 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.