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

Nachdem App Check für einen Backend-Dienst erzwungen wurde, werden die Funktionen Ihrer App, die von diesem Backend-Dienst abhängen, nicht in einem Simulator oder in einer Continuous Integration-Umgebung (CI) ausgeführt, da diese Umgebungen nicht als gültige Geräte gelten. Wenn Sie Ihre App während der Entwicklung und des Tests in diesen Umgebungen ausführen möchten, müssen Sie einen Debug-Build Ihrer App erstellen, der den App Check-Debug-Anbieter anstelle eines Attestierungsanbieters für die Produktion 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 vor der Verwendung von Firebase-Backend-Diensten die App Check-Debug-Anbieterfactory fest:

    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. Fehlerbehebungstoken abrufen:

    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 Fehlerbehebungstoken bei App Check:

    1. Rufen Sie in der Firebase-Konsole den Tab Apps unter Sicherheit > App Check > 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 Backend-Diensten als gültig akzeptiert.

Mit diesem Token kann auf Ihre Backend-Dienste zugegriffen werden, ohne dass ein gültiges Gerät erforderlich ist. Es ist daher wichtig, dass Sie es vertraulich behandeln. Übertragen Sie es nicht in ein öffentliches Repository und geben Sie es nicht in Produktions-Builds Ihrer App an. Wenn ein registriertes Token jemals manipuliert 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 Debugging-Anbieter für Unit-Tests in einer Continuous Integration-Umgebung (CI):

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

    1. Rufen Sie in der Firebase-Konsole den Tab Apps unter Sicherheit > App Check > 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 auf Ihre Backend-Dienste zugegriffen werden, ohne dass ein gültiges Gerät erforderlich ist. Es ist daher wichtig, dass Sie es vertraulich behandeln. Übertragen Sie es nicht in ein öffentliches Repository und geben Sie es nicht in Produktions-Builds Ihrer App an. Wenn ein registriertes Token jemals manipuliert 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. den verschlüsselten Secrets von GitHub Actions oder den verschlüsselten Variablen von Travis CI.

  3. Konfigurieren Sie Ihr CI-System bei Bedarf so, dass Ihr Debug-Token in der CI-Umgebung als Umgebungsvariable verfügbar ist. Geben Sie der Variablen einen Namen, z. B. 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 vor der Verwendung von Firebase-Backend-Diensten die App Check-Debug-Anbieterfactory fest:

    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, akzeptieren Ihre Back-End-Dienste das gesendete Token als gültig.