App Check mit dem Debugging-Anbieter in Web-Apps verwenden

Wenn Sie Ihre App nach der Registrierung für App Check 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 die kontinuierliche Integration (Continuous Integration, CI), können Sie einen Debug-Build Ihrer App erstellen, der anstelle eines echten Attestierungsanbieters den App Check Debug-Anbieter verwendet.

Debug-Anbieter auf „localhost“ verwenden

So verwenden Sie den Debug-Anbieter, während Sie Ihre App von localhost ausführen (z. B. während der Entwicklung):

  1. Aktivieren Sie in Ihrem Debug-Build den Debug-Modus, indem Sie self.FIREBASE_APPCHECK_DEBUG_TOKEN auf true setzen, bevor Sie App Check initialisieren. Beispiel:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. Rufen Sie Ihre Web-App lokal auf und öffnen Sie die Entwicklertools des Browsers. In der Debug-Konsole sehen Sie ein Debug-Token:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.
  3. Öffnen Sie in der Firebase Konsole Sicherheit > App Check.

  4. Registrieren Sie das Debug-Token, das Sie gerade protokolliert haben.

    1. Suchen Sie auf dem Tab Apps nach Ihrer App.
    2. Wählen Sie im Überlaufmenü Ihrer App die Option Debug-Tokens verwalten aus.
    3. Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Debug-Token zu registrieren.

    Screenshot des Menüpunkts „Debug-Tokens verwalten“

Nachdem Sie das Token registriert haben, akzeptieren die Firebase-Backend-Dienste es als gültig.

Da dieses Token den Zugriff auf Ihre Firebase-Ressourcen ohne gültiges Gerät ermöglicht, ist es wichtig, dass Sie es privat halten. Übertragen Sie es nicht in ein öffentliches Repository und widerrufen Sie es sofort in der Firebase Konsole, wenn ein registriertes Token kompromittiert wird.

Dieses Token wird lokal in Ihrem Browser gespeichert und immer verwendet, wenn Sie Ihre App im selben Browser auf demselben Computer verwenden. Wenn Sie das Token in einem anderen Browser oder auf einem anderen Computer verwenden möchten, setzen Sie self.FIREBASE_APPCHECK_DEBUG_TOKEN auf den Tokenstring anstelle von true.

Debug-Anbieter in einer CI-Umgebung verwenden

So verwenden Sie den Debug-Anbieter in einer Umgebung für die kontinuierliche Integration (Continuous Integration, CI):

  1. Öffnen Sie in der Firebase Konsole Sicherheit > App Check > Apps.

  2. Erstellen Sie ein Debug-Token. Sie benötigen dieses Token im nächsten Schritt.

    1. Wählen Sie im Überlaufmenü Ihrer App die Option Debug-Tokens verwalten aus.
    2. Folgen Sie der Anleitung auf dem Bildschirm, um ein neues Debug-Token zu erstellen.

    Da dieses Token den Zugriff auf Ihre Firebase-Ressourcen ohne gültiges Gerät ermöglicht, ist es wichtig, dass Sie es privat halten. Übertragen Sie es nicht in ein öffentliches Repository und widerrufen Sie es sofort in der Firebase Konsole, wenn ein registriertes Token kompromittiert wird.

    Screenshot des Menüpunkts „Debug-Tokens verwalten“

  3. Fügen Sie das gerade erstellte Debug-Token dem sicheren Schlüsselspeicher Ihres CI-Systems hinzu (z. B. verschlüsselte Secrets von GitHub Actions oder verschlüsselte Variablen von Travis CI).

  4. Konfigurieren Sie Ihr CI-System gegebenenfalls so, dass Ihr Debug-Token in der CI-Umgebung als Umgebungsvariable verfügbar ist. Geben Sie der Variablen einen Namen wie APP_CHECK_DEBUG_TOKEN_FROM_CI.

  5. Aktivieren Sie in Ihrem Debug-Build den Debug-Modus, indem Sie self.FIREBASE_APPCHECK_DEBUG_TOKEN auf den Wert der Umgebungsvariablen für das Debug-Token setzen, bevor Sie App Checkimportieren. Beispiel:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

Wenn Ihre App in einer CI-Umgebung ausgeführt wird, akzeptieren die Firebase-Backend-Dienste das gesendete Token als gültig.