Auf dieser Seite erfahren Sie, wie Sie App Check in einer Web-App mit Ihrem benutzerdefinierten App Check-Anbieter aktivieren. Wenn Sie App Check aktivieren, tragen Sie dazu bei, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann.
Wenn Sie App Check mit einem der integrierten Anbieter verwenden möchten, lesen Sie die Dokumentation zu App Check mit reCAPTCHA Enterprise.
Hinweis
Fügen Sie Ihrem JavaScript-Projekt Firebase hinzu, falls noch nicht geschehen.
Implementieren Sie die serverseitige Logik Ihres benutzerdefinierten App Check-Anbieters.
1. 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.
2. App Check-Anbieterobjekt erstellen
Erstellen Sie ein App Check-Anbieterobjekt für Ihren benutzerdefinierten Anbieter. Dieses Objekt muss eine getToken()
-Methode haben, die alle Informationen erfasst, die Ihr benutzerdefinierter App Check-Anbieter als Authentizitätsnachweis benötigt, und sie an Ihren Token-Abrufdienst sendet, um ein App Check-Token zu erhalten. Das App Check SDK übernimmt das Zwischenspeichern von Tokens. Rufen Sie daher in Ihrer Implementierung von getToken()
immer ein neues Token ab.
Web
import { CustomProvider } from "firebase/app-check"; const appCheckCustomProvider = new CustomProvider({ getToken: () => { return new Promise((resolve, _reject) => { // TODO: Logic to exchange proof of authenticity for an App Check token and // expiration time. // ... const appCheckToken = { token: tokenFromServer, expireTimeMillis: expirationFromServer * 1000 }; resolve(appCheckToken); }); } });
Web
const appCheckCustomProvider = { getToken: () => { return new Promise((resolve, _reject) => { // TODO: Logic to exchange proof of authenticity for an App Check token and // expiration time. // ... const appCheckToken = { token: tokenFromServer, expireTimeMillis: expirationFromServer * 1000 }; resolve(appCheckToken); }); } };
3. App Check initialisieren
Fügen Sie Ihrer Anwendung den folgenden Initialisierungscode hinzu, bevor Sie auf Firebase-Dienste zugreifen:
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck } from "firebase/app-check"; const app = initializeApp({ // Your firebase configuration object }); const appCheck = initializeAppCheck(app, { provider: appCheckCustomProvider, // 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(); appCheck.activate( appCheckCustomProvider, // 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 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.