Utilizzare App Check con il provider di debug sulle piattaforme Apple

Dopo che App Check è stato applicato a un servizio di backend, le funzionalità dell'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 App Check provider di debug anziché un provider di attestazione di produzione.

Utilizzare 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 App Check factory del provider di debug:

    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 l'app, fai clic sul menu extra () 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 servizi di backend lo accetteranno come valido.

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

Utilizzare 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 l'app, fai clic sul menu extra () 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 servizi di backend senza un dispositivo valido, quindi è fondamentale mantenerlo privato. Non eseguirne il commit in un repository pubblico o spedirlo nelle build di produzione dell'app. Se un token registrato viene compromesso, eliminalo immediatamente utilizzando Gestisci token di debug nella Firebase console.

    Screenshot della voce di menu Gestisci token di debug

  2. Aggiungi il token di debug appena creato all'archivio di chiavi sicure del 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 per il test CI in modo da passare 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 App Check factory del provider di debug:

    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 l'app viene eseguita in un ambiente CI, i servizi di backend accettano il token inviato come valido.