App Check mit dem Debugging-Anbieter auf Apple-Plattformen verwenden

Nachdem App Check für einen Backend-Dienst erzwungen wurde, können die Funktionen Ihrer App, die von diesem Backend-Dienst abhängen, nicht in einem Simulator oder in einer CI-Umgebung (Continuous Integration) ausgeführt werden, da diese Umgebungen nicht als gültige Geräte gelten. Wenn Sie Ihre App während der Entwicklung und des Testens in diesen Umgebungen ausführen möchten, müssen Sie einen Debug-Build Ihrer App erstellen, der den App Check Debug-Anbieter anstelle eines Produktions-Attestierungsanbieters verwendet.

Debug-Anbieter in einem Simulator verwenden

So verwenden Sie den Debug-Anbieter, während Sie Ihre App interaktiv in einem Simulator ausführen (z. B. während der lokalen Entwicklung):

  1. Erstellen und legen Sie in Ihrem Debug-Build die App Check Debug-Anbieter-Factory fest, bevor Sie Firebase-Back-End-Dienste verwenden:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. Rufen Sie Ihr Debug-Token ab:

    1. Starten Sie Ihre App im Simulator oder auf Ihrem Testgerät.

    2. Öffnen Sie die Xcode-Konsole und suchen Sie nach dem App Check Debug-Token. Beispiel:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Kopieren Sie das Token (z. B. 123a4567-b89c-12d3-e456-789012345678).

  3. Registrieren Sie Ihr Debug-Token bei App Check:

    1. Rufen Sie in der Firebase Konsole den Tab Sicherheit > App Check > Apps auf.

    2. Suchen Sie Ihre App, klicken Sie auf das Dreipunkt-Menü () und wählen Sie Debug-Tokens verwalten aus.

    3. Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Debug-Token zu registrieren.

    Screenshot des Menüelements „Debug-Tokens verwalten“ in der Firebase Console

Nachdem Sie das Token bei App Check registriert haben, wird es von Ihren Back-End-Diensten als gültig akzeptiert.

Mit diesem Token kann ohne gültiges Gerät auf Ihre Back-End-Dienste zugegriffen werden. Daher ist es wichtig, dass Sie es privat halten. Übertragen Sie es nicht in ein öffentliches Repository und geben Sie es nicht in Produktions-Builds Ihrer App an. Wenn ein registriertes Token kompromittiert wird, löschen Sie es sofort über Debug-Tokens verwalten in der Firebase Konsole.

Debug-Anbieter in einer CI-Umgebung verwenden

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

  1. Erstellen Sie in der Firebase Konsole ein Debug-Token:

    1. Rufen Sie in der Firebase Konsole den Tab Sicherheit > App Check > Apps auf.

    2. Suchen Sie Ihre App, klicken Sie auf das Dreipunkt-Menü () und wählen Sie Debug-Tokens verwalten aus.

    3. Folgen Sie der Anleitung auf dem Bildschirm, um ein neues Debug-Token zu erstellen.

    Mit diesem Token kann ohne gültiges Gerät auf Ihre Back-End-Dienste zugegriffen werden. Daher ist es wichtig, dass Sie es privat halten. Übertragen Sie es nicht in ein öffentliches Repository und geben Sie es nicht in Produktions-Builds Ihrer App an. Wenn ein registriertes Token kompromittiert wird, löschen Sie es sofort über Debug-Tokens verwalten in der Firebase Konsole.

    Screenshot des Menüpunkts „Debug-Tokens verwalten“

  2. 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).

  3. 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.

  4. Fügen Sie in Xcode eine Umgebungsvariable mit dem Namen AppCheckDebugToken und einem Wert wie $(APP_CHECK_DEBUG_TOKEN) zu Ihrem Testschema hinzu.

  5. Konfigurieren Sie Ihr CI-Testskript so, dass das Debug-Token als Umgebungsvariable übergeben wird. Beispiel:

    xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Erstellen und legen Sie in Ihrem Debug-Build die App Check Debug-Anbieter-Factory fest, bevor Sie Firebase-Back-End-Dienste verwenden:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

Wenn Ihre App in einer CI-Umgebung ausgeführt wird, werden die von ihr gesendeten Tokens von Ihren Back-End-Diensten als gültig akzeptiert.