Auf dieser Seite erfahren Sie, wie Sie App Check in einer Web-App mithilfe des integrierten reCAPTCHA v3-Anbieters aktivieren. Wenn Sie App Check aktivieren, stellen Sie sicher, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann. Sehen Sie sich eine Übersicht über diese Funktion an.
Sie sollten reCAPTCHA Enterprise für neue Integrationen verwenden. Wir empfehlen Entwicklern von Apps, die reCAPTCHA v3 verwenden, nach Möglichkeit dringend ein Upgrade.
Um die Unterschiede zwischen reCAPTCHA v3 und reCAPTCHA Enterprise zu erfahren, sehen Sie sich den Funktionsvergleich an.
Beachten Sie, dass reCAPTCHA v3 für Benutzer unsichtbar ist. Der reCAPTCHA v3-Anbieter verlangt von Benutzern zu keinem Zeitpunkt, dass sie eine Herausforderung lösen. Weitere Informationen finden Sie in der Dokumentation zu reCAPTCHA v3 .
Wenn Sie App Check mit Ihrem eigenen benutzerdefinierten Anbieter verwenden möchten, finden Sie weitere Informationen unter Implementieren eines benutzerdefinierten App Check-Anbieters .
1. Richten Sie Ihr Firebase-Projekt ein
Fügen Sie Firebase zu Ihrem JavaScript-Projekt hinzu, falls Sie dies noch nicht getan haben.
Registrieren Sie Ihre Site für reCAPTCHA v3 und erhalten Sie Ihren reCAPTCHA v3-Site-Schlüssel und Ihren geheimen Schlüssel.
Registrieren Sie Ihre Apps für die Verwendung von App Check beim reCAPTCHA-Anbieter im Abschnitt „App Check“ der Firebase-Konsole. Sie müssen den geheimen Schlüssel angeben, den Sie im vorherigen Schritt erhalten haben.
Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, denn sobald Sie die Durchsetzung für ein Firebase-Produkt aktivieren, können nur registrierte Apps auf die Backend-Ressourcen des Produkts zugreifen.
Optional : Legen Sie in den App-Registrierungseinstellungen eine benutzerdefinierte Gültigkeitsdauer (Time-to-Live, TTL) für vom Anbieter ausgestellte App-Check-Token fest. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen einstellen. Beachten Sie beim Ändern dieses Werts die folgenden Kompromisse:
- Sicherheit: Kürzere TTLs bieten eine höhere Sicherheit, da sie das Zeitfenster verkleinern, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
- Leistung: Kürzere TTLs bedeuten, dass Ihre App häufiger eine Bescheinigung durchführt. Da der App-Bestätigungsprozess 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 Bestätigungen erschöpfen Ihr Kontingent schneller und kosten bei kostenpflichtigen Diensten möglicherweise mehr. Siehe Kontingente und Limits .
Die Standard-TTL von 1 Tag ist für die meisten Apps angemessen. Beachten Sie, dass die App Check-Bibliothek Token mit etwa der Hälfte der TTL-Dauer aktualisiert.
2. Fügen Sie die App Check-Bibliothek zu Ihrer App hinzu
Fügen Sie Firebase zu Ihrer Web-App hinzu, falls Sie dies noch nicht getan haben. Stellen Sie sicher, dass Sie die App Check-Bibliothek 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- Site-Schlüssel , den Sie in der reCAPTCHA-Konsole erstellt haben, an activate()
übergeben.
Web modular API
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 namespaced API
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
Sobald die App Check-Bibliothek in Ihrer App installiert ist, stellen Sie sie bereit.
Die aktualisierte Client-App beginnt mit dem Senden von App Check-Tokens zusammen mit jeder Anfrage an Firebase. Für Firebase-Produkte müssen die Token jedoch erst gültig sein, wenn Sie die Durchsetzung im Abschnitt „App Check“ der Firebase-Konsole aktivieren.
Überwachen Sie Metriken und aktivieren Sie die Durchsetzung
Bevor Sie die Durchsetzung aktivieren, sollten Sie jedoch sicherstellen, dass Ihre vorhandenen legitimen Benutzer dadurch nicht beeinträchtigt werden. Wenn Sie jedoch feststellen, dass Ihre App-Ressourcen verdächtig genutzt werden, sollten Sie die Durchsetzung möglicherweise früher aktivieren.
Um diese Entscheidung zu treffen, können Sie sich die App Check-Metriken für die von Ihnen genutzten Dienste ansehen:
- Überwachen Sie App Check-Anfragemetriken für Echtzeitdatenbank, Cloud Firestore, Cloud Storage und Authentifizierung (Beta).
- Überwachen Sie App Check-Anfragemetriken für Cloud Functions .
Aktivieren Sie die Durchsetzung der App-Prüfung
Wenn Sie verstehen, wie sich App Check auf Ihre Benutzer auswirkt, und Sie bereit sind, fortzufahren, können Sie die Durchsetzung von App Check aktivieren:
- Aktivieren Sie die App Check-Erzwingung für Echtzeitdatenbank, Cloud Firestore, Cloud Storage und Authentifizierung (Beta).
- Aktivieren Sie die App Check-Erzwingung für Cloud Functions .
Verwenden Sie App Check in Debug-Umgebungen
Wenn Sie Ihre App nach der Registrierung für App Check in einer Umgebung ausführen möchten, die App Check normalerweise nicht als gültig einstufen würde, z. B. lokal während der Entwicklung oder in einer CI-Umgebung (Continuous Integration), können Sie diese erstellen ein Debug-Build Ihrer App, der den App Check-Debug-Anbieter anstelle eines echten Nachweisanbieters verwendet.
Siehe App Check mit dem Debug-Anbieter in Web-Apps verwenden .