Utilizzare App Check con il provider di debug sulle piattaforme Apple

Dopo l'applicazione di App Check per un servizio di backend, le funzionalità della tua app che dipendono da quel servizio di backend non verranno eseguite in un simulatore o da un ambiente di integrazione continua (CI), perché questi ambienti non sono considerati dispositivi validi. Per eseguire l'app in questi ambienti durante lo sviluppo e i test, devi creare una build di debug dell'app che utilizzi il provider di debug App Check anziché un provider di attestazione di produzione.

Utilizza il provider di debug in un simulatore

Ecco come utilizzare il provider di debug durante l'esecuzione interattiva dell'app in un simulatore (ad esempio, durante lo sviluppo locale):

  1. Nella build di debug, prima di utilizzare qualsiasi servizio di backend Firebase, crea e imposta la factory del provider di debug App Check:

    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. Ottieni il token di debug:

    1. Avvia l'app nel simulatore o sul dispositivo di test.

    2. Apri la console Xcode e cerca il token di debug App Check. Ad esempio:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Copia il token (ad esempio, 123a4567-b89c-12d3-e456-789012345678).

  3. Registra il token di debug con App Check:

    1. Nella console Firebase, vai alla scheda Sicurezza > App Check > App.

    2. Trova la tua app, fai clic sul menu extra con tre puntini () e poi seleziona Gestisci token di debug.

    3. Segui le istruzioni sullo schermo per registrare il token di debug.

    Screenshot della voce di menu Gestisci token di debug nella console Firebase

Dopo aver registrato il token con App Check, i tuoi servizi di backend lo accetteranno come valido.

Questo token consente l'accesso ai tuoi servizi di backend senza un dispositivo valido, quindi è fondamentale mantenerlo privato. Non eseguirne il commit in un repository pubblico né includerlo nelle build di produzione della tua app. Se un token registrato viene compromesso, eliminalo immediatamente utilizzando Gestisci token di debug nella console Firebase.

Utilizza il provider di debug in un ambiente CI

Ecco come utilizzare il provider di debug per i test delle unità in un ambiente di integrazione continua (CI):

  1. Nella console Firebase, crea un token di debug:

    1. Nella console Firebase, vai alla scheda Sicurezza > App Check > App.

    2. Trova la tua app, fai clic sul menu extra con tre puntini () e poi seleziona Gestisci token di debug.

    3. Segui le istruzioni sullo schermo per creare un nuovo token di debug.

    Questo token consente l'accesso ai tuoi servizi di backend senza un dispositivo valido, quindi è fondamentale mantenerlo privato. Non eseguirne il commit in un repository pubblico né includerlo nelle build di produzione della tua app. Se un token registrato viene compromesso, eliminalo immediatamente utilizzando Gestisci token di debug nella console Firebase.

    Screenshot della voce di menu Gestisci token di debug

  2. Aggiungi il token di debug appena creato all'archivio chiavi sicuro del tuo sistema CI (ad esempio, i secret criptati di GitHub Actions o le variabili criptate di Travis CI).

  3. Se necessario, configura il sistema CI in modo che il token di debug sia disponibile nell'ambiente CI come variabile di ambiente. Assegna alla variabile un nome simile a APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. In Xcode, aggiungi una variabile di ambiente allo schema di test con il nome AppCheckDebugToken e un valore simile a $(APP_CHECK_DEBUG_TOKEN).

  5. Configura lo script di test CI in modo che passi il token di debug come variabile di ambiente. Ad esempio:

    xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Nella build di debug, prima di utilizzare qualsiasi servizio di backend Firebase, crea e imposta la factory del provider di debug App Check:

    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];

Quando la tua app viene eseguita in un ambiente CI, i tuoi servizi di backend accetteranno il token che invia come valido.