App Check mit dem Debug-Anbieter verwenden

Wenn Sie Ihre Anwendung nach der Registrierung für App Check in einer Umgebung ausführen möchten, die von App Check normalerweise nicht als gültig klassifiziert werden würde, z. B. in einem Simulator während der Entwicklung, oder in einer CI-Umgebung (Continuous Integration) können Sie einen Debug-Build Ihrer Anwendung erstellen, der den App Check-Fehlerbehebungsanbieter anstelle von App Attest verwendet.

Anbieter für die Fehlerbehebung in einem Simulator verwenden

Wenn Sie den Debug-Anbieter verwenden möchten, während Sie Ihre App interaktiv in einem Simulator ausführen (z. B. während der Entwicklung), gehen Sie so vor:

  1. Suche in der Google Cloud Console im Abschnitt APIs und Dienste auf der Seite Anmeldedaten nach dem iOS-API-Schlüssel für dein Projekt.

  2. Konfigurieren Sie App Check in Ihrem Debug-Build so, dass der Debug-Anbieter verwendet wird. Sie müssen den API-Schlüssel angeben, den Sie im vorherigen Schritt erhalten haben.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. Starten Sie die App. Wenn das SDK versucht, eine Anfrage an das Back-End zu senden, wird ein lokales Fehlerbehebungstoken in der Xcode-Konsole protokolliert. Beispiel:

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. Wählen Sie im Bereich App Check der Firebase Console im Dreipunkt-Menü der App die Option Debug-Tokens verwalten aus. Registrieren Sie dann das Fehlerbehebungstoken, das Sie im vorherigen Schritt protokolliert haben.

    Screenshot des Menüpunkts &quot;Manage Debug Tokens&quot; (Fehlerbehebungstokens verwalten)

Nachdem Sie das Token registriert haben, akzeptieren die OAuth 2.0-Endpunkte von Google das Token als gültig für Ihr Projekt.

Da dieses Token den Zugriff auf Ihre Authentifizierungsendpunkte ohne ein gültiges Gerät ermöglicht, ist es wichtig, dass Sie es privat halten. Legen Sie kein Commit in einem öffentlichen Repository fest. Falls ein registriertes Token kompromittiert werden sollte, müssen Sie es sofort in der Firebase Console widerrufen.

Anbieter für Fehlerbehebung in einer CI-Umgebung verwenden

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

  1. Wählen Sie im Bereich App Check der Firebase Console im Dreipunkt-Menü der App die Option Debug-Tokens verwalten aus. Erstellen Sie dann ein neues Debug-Token. Sie benötigen das Token im nächsten Schritt.

    Da dieses Token den Zugriff auf Ihre Authentifizierungsendpunkte ohne ein gültiges Gerät ermöglicht, ist es wichtig, dass Sie es privat halten. Legen Sie kein Commit in einem öffentlichen Repository fest. Falls ein registriertes Token kompromittiert werden sollte, müssen Sie es sofort in der Firebase Console widerrufen.

    Screenshot des Menüpunkts &quot;Manage Debug Tokens&quot; (Fehlerbehebungstokens verwalten)

  2. Fügen Sie das gerade erstellte Fehlerbehebungstoken im sicheren Schlüsselspeicher Ihres CI-Systems hinzu (z. B. die verschlüsselten Secrets von GitHub Actions oder die verschlüsselten Variablen von Travis CI).

  3. Konfigurieren Sie bei Bedarf Ihr CI-System so, dass das Fehlerbehebungstoken in der CI-Umgebung als Umgebungsvariable zur Verfügung gestellt wird. Geben Sie der Variablen einen Namen wie APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. Fügen Sie Ihrem Testschema in Xcode eine Umgebungsvariable mit dem Namen FIRAAppCheckDebugToken und etwa $(APP_CHECK_DEBUG_TOKEN) als Wert hinzu.

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

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Suche in der Google Cloud Console im Abschnitt APIs und Dienste auf der Seite Anmeldedaten nach dem iOS-API-Schlüssel für dein Projekt.

  7. Konfigurieren Sie App Check in Ihrem Debug-Build so, dass der Debug-Anbieter verwendet wird. Sie müssen den API-Schlüssel angeben, den Sie im vorherigen Schritt erhalten haben.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

Wenn Ihre Anwendung in einer CI-Umgebung ausgeführt wird, akzeptieren die OAuth 2.0-Endpunkte von Google das gesendete Token als gültig für Ihr Projekt.