Verwenden Sie App Check mit dem Debug-Anbieter auf Apple-Plattformen

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 Erstellen Sie einen Debugbuild Ihrer App, der den App Check-Debuganbieter anstelle eines echten Attestierungsanbieters verwendet.

Verwenden Sie den Debug-Anbieter in einem Simulator

Gehen Sie wie folgt vor, um den Debug-Anbieter zu verwenden, während Sie Ihre App interaktiv in einem Simulator ausführen (z. B. während der Entwicklung):

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

    Schnell

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

    Ziel c

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. Aktivieren Sie die Debug-Protokollierung in Ihrem Xcode-Projekt (v11.0 oder neuer):

    1. Öffnen Product> Schema> Schema bearbeiten.
    2. Wählen Sie Run aus dem linken Menü, wählen Sie dann die Registerkarte Argumente.
    3. In den übergebenen Argumenten auf Abschuss Abschnitt Add -FIRDebugEnabled .
  3. Starten Sie die App. Ein lokales Debug-Token wird protokolliert, wenn das SDK versucht, eine Anfrage an das Back-End zu senden. Zum Beispiel:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. In den Projekteinstellungen> App überprüfen Abschnitt der Konsole Firebase, wählen Sie aus der App Laufmenü verwalten Debug - Token. Registrieren Sie dann das Debug-Token, das Sie im vorherigen Schritt angemeldet haben.

    Screenshot des Menüelements Debug-Token verwalten

Nachdem Sie das Token registriert haben, wird es von den Firebase-Back-End-Diensten als gültig akzeptiert.

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 wenn ein registriertes Token jemals kompromittiert wird, widerrufen Sie es sofort in der Firebase-Konsole.

Verwenden Sie den Debug-Provider in einer CI-Umgebung

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

  1. In den Projekteinstellungen> App überprüfen Abschnitt der Konsole Firebase, wählen Sie aus der App Laufmenü verwalten Debug - Token. Erstellen Sie dann ein neues Debug-Token. Sie benötigen das Token im nächsten Schritt.

    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 wenn ein registriertes Token jemals kompromittiert wird, widerrufen Sie es sofort in der Firebase-Konsole.

    Screenshot des Menüelements Debug-Token verwalten

  2. Fügen Sie den Debug - Token , das Sie gerade erstellt haben, um Ihre CI - System des sicheren Schlüsselspeicher (zum Beispiel GitHub Aktionen verschlüsselten Geheimnisse oder Travis CI verschlüsselten Variablen ).

  3. Konfigurieren Sie bei Bedarf Ihr CI-System, um Ihr Debug-Token als Umgebungsvariable innerhalb der CI-Umgebung verfügbar zu machen. Benennen Sie die Variable so etwas wie APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. Eine Umgebungsvariable auf Ihre Prüfschema mit dem Namen in Xcode, fügen FIRAAppCheckDebugToken und so etwas wie $(APP_CHECK_DEBUG_TOKEN) als Wert.

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

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

    Schnell

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

    Ziel 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 die Firebase-Back-End-Dienste das gesendete Token als gültig.