Auf dieser Seite erfahren Sie, wie Sie App Check in einer Webanwendung mithilfe Ihres benutzerdefinierten App Check-Anbieters aktivieren. Wenn Sie App Check aktivieren, können nur Ihre Apps auf die Firebase-Ressourcen Ihres Projekts zugreifen.
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 Sie das noch nicht getan haben.
Implementiere die serverseitige Logik deines benutzerdefinierten App Check-Anbieters.
1. App Check-Bibliothek zur App hinzufügen
Fügen Sie Firebase zu Ihrer Web-App hinzu, falls noch nicht geschehen. Achten Sie darauf, die App Check-Bibliothek zu importieren.
2. App Check-Anbieterobjekt erstellen
Erstelle ein App Check-Anbieterobjekt für deinen benutzerdefinierten Anbieter. Dieses Objekt benötigt eine getToken()
-Methode, die alle Informationen erfasst, die dein benutzerdefinierter App Check-Anbieter als Authentizitätsnachweis benötigt, und sie im Austausch gegen ein App Check-Token an deinen Tokenabrufdienst sendet. Das App Check SDK kümmert sich um das Token-Caching. Daher solltest du in deiner getToken()
-Implementierung immer ein neues Token abrufen.
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
Sobald die App Check-Bibliothek in Ihrer Anwendung installiert ist, stellen Sie sie bereit.
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.
Bei der Entscheidung können dir App Check Messwerte für die von dir verwendeten Dienste helfen:
- App Check-Anfragemesswerte für Realtime Database, Cloud Firestore, Cloud Storage, Authentication (Beta) und Vertex AI in Firebase überwachen
- App Check-Anfragemesswerte für Cloud Functions überwachen
App Check-Erzwingung aktivieren
Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und bereit sind, fortzufahren, können Sie die Durchsetzung von App Check aktivieren:
- App Check-Erzwungenheit aktivieren 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.