了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Verwenden Sie App Check mit dem Debug-Anbieter in Web-Apps

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.

Verwenden Sie den Debug-Anbieter auf localhost

Gehen Sie wie folgt vor, um den Debug-Anbieter zu verwenden, während Sie Ihre App über 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. Zum Beispiel:

    Modulare Web-API

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

    Web-Namespace-API

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. Besuchen Sie Ihre Web-App lokal und öffnen Sie das Entwicklertool 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. Wählen Sie im Abschnitt „App Check“ der Firebase-Konsole im Überlaufmenü Ihrer App die Option „Debug-Tokens verwalten“ aus. Registrieren Sie dann das Debug-Token, das Sie im vorherigen Schritt angemeldet haben.

    Screenshot des Menüelements „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 ein gültiges Gerät ermöglicht, ist es wichtig, dass Sie es privat halten. Übertragen Sie es nicht in ein öffentliches Repository. Wenn ein registriertes Token jemals kompromittiert wird, widerrufen Sie es sofort in der Firebase-Konsole.

Dieses Token wird lokal in Ihrem Browser gespeichert und immer dann 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 die Token-Zeichenfolge statt auf true .

Verwenden Sie den Debug-Provider in einer CI-Umgebung

Gehen Sie wie folgt vor, um den Debug-Anbieter in einer CI-Umgebung (Continuous Integration) zu verwenden:

  1. Wählen Sie im Abschnitt „App Check“ der Firebase-Konsole im Überlaufmenü Ihrer App die Option „Debug-Tokens verwalten“ aus. Erstellen Sie dann ein neues Debug-Token. Sie benötigen den Token im nächsten Schritt.

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

    Screenshot des Menüelements „Debug-Tokens verwalten“.

  2. Fügen Sie das soeben erstellte Debug-Token zum sicheren Schlüsselspeicher Ihres CI-Systems hinzu (z. B. die verschlüsselten Geheimnisse von GitHub Actions oder die verschlüsselten Variablen von Travis CI).

  3. Konfigurieren Sie bei Bedarf Ihr CI-System so, dass Ihr Debug-Token in der CI-Umgebung als Umgebungsvariable verfügbar ist. Benennen Sie die Variable etwa APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. Aktivieren Sie in Ihrem Debug-Build den Debug-Modus, indem Sie self.FIREBASE_APPCHECK_DEBUG_TOKEN auf den Wert der Debug-Token-Umgebungsvariablen setzen, bevor Sie App Check importieren. Zum Beispiel:

    Modulare Web-API

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

    Web-Namespace-API

    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.