Utilizza App Check con il provider di debug sulle piattaforme Apple

Se, dopo aver registrato la tua app per App Check, desideri eseguire l'app in un ambiente che App Check normalmente non classificherebbe come valido, ad esempio un simulatore durante lo sviluppo o da un ambiente di integrazione continua (CI), puoi crea una build di debug della tua app che utilizza il provider di debug App Check anziché un vero provider di attestazione.

Utilizzare il provider di debug in un simulatore

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

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

    Veloce

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

    Obiettivo-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. Abilita la registrazione del debug nel tuo progetto Xcode (v11.0 o successiva):

    1. Apri Prodotto > Schema > Modifica schema .
    2. Seleziona Esegui dal menu a sinistra, quindi seleziona la scheda Argomenti .
    3. Nella sezione Argomenti passati all'avvio aggiungere -FIRDebugEnabled .
  3. Avvia l'app. Verrà registrato un token di debug locale quando l'SDK tenta di inviare una richiesta al back-end. Per esempio:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Nella sezione App Check della console Firebase, scegli Gestisci token di debug dal menu extra della tua app. Quindi, registra il token di debug che hai registrato nel passaggio precedente.

    Screenshot della voce di menu Gestisci token di debug

Dopo aver registrato il token, i servizi backend Firebase lo accetteranno come valido.

Poiché questo token consente l'accesso alle tue risorse Firebase senza un dispositivo valido, è fondamentale mantenerlo privato. Non impegnarlo in un repository pubblico e, se un token registrato viene compromesso, revocalo immediatamente nella console Firebase.

Utilizzare il provider di debug in un ambiente CI

Per utilizzare il provider di debug in un ambiente di integrazione continua (CI), procedere come segue:

  1. Nella sezione App Check della console Firebase, scegli Gestisci token di debug dal menu extra della tua app. Quindi, crea un nuovo token di debug. Avrai bisogno del token nel passaggio successivo.

    Poiché questo token consente l'accesso alle tue risorse Firebase senza un dispositivo valido, è fondamentale mantenerlo privato. Non impegnarlo in un repository pubblico e, se un token registrato viene compromesso, revocalo immediatamente 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 segreti crittografati di GitHub Actions o le variabili crittografate di Travis CI).

  3. Se necessario, configura il tuo sistema CI per rendere disponibile il token di debug all'interno dell'ambiente CI come variabile di ambiente. Assegna un nome alla variabile come APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. In Xcode, aggiungi una variabile di ambiente al tuo schema di test con il nome FIRAAppCheckDebugToken e qualcosa come $(APP_CHECK_DEBUG_TOKEN) come valore.

  5. Configura il tuo script di test CI per passare il token di debug come variabile di ambiente. Per esempio:

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

    Veloce

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

    Obiettivo-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 servizi backend Firebase accetteranno il token inviato come valido.