Utilizzare App Check con il provider di debug con Flutter

Una volta applicata App Check a un servizio di backend, le funzionalità dell'app che dipendono da quel servizio di backend non verranno eseguite in un emulatore 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 il test, devi creare una build di debug dell'app che utilizzi il App Check provider di debug anziché un provider di attestazione di produzione.

Piattaforme Apple

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

  1. Attiva App Check con il provider di debug subito dopo aver inizializzato l'app Firebase:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. Attiva il logging di debug nel tuo progetto Xcode (v11.0 o versioni successive):

    1. Apri Product > Scheme > Edit scheme (Prodotto > Schema > Modifica schema).
    2. Seleziona Run (Esegui) dal menu a sinistra, quindi seleziona la scheda Arguments (Argomenti).
    3. Nella sezione Arguments Passed on Launch (Argomenti passati al momento dell'avvio), aggiungi -FIRDebugEnabled.
  3. Ottieni il token di debug:

    1. Apri ios/Runner.xcworkspace con Xcode ed esegui 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).

  4. 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 che tu lo mantenga privato. Non eseguirne il commit in un repository pubblico o distribuirlo nelle build di produzione della tua app. Se un token registrato viene compromesso, eliminalo immediatamente utilizzando Gestisci token di debug nella console Firebase.

Android

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

  1. Attiva App Check con il provider di debug subito dopo aver inizializzato l'app Firebase:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set androidProvider to `AndroidProvider.debug`
        androidProvider: AndroidProvider.debug,
      );
      runApp(App());
    }
    
    
  2. Ottieni il token di debug:

    1. Esegui l'app nell'emulatore o sul dispositivo di test.

    2. Cerca il token di debug App Check nei log. Ad esempio:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 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 che tu lo mantenga privato. Non eseguirne il commit in un repository pubblico o distribuirlo nelle build di produzione della tua app. Se un token registrato viene compromesso, eliminalo immediatamente utilizzando Gestisci token di debug nella console Firebase.

Web

Ecco come utilizzare il provider di debug durante l'esecuzione dell'app da localhost (ad esempio, durante lo sviluppo locale):

  1. Nel file web/index.html, attiva la modalità di debug impostando self.FIREBASE_APPCHECK_DEBUG_TOKEN su true:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Esegui l'app web in locale e apri gli strumenti per sviluppatori del browser. Nella console di debug, vedrai un token di debug. Ad esempio:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    

    Questo token viene memorizzato localmente nel browser e verrà utilizzato ogni volta che utilizzi l'app nello stesso browser sulla stessa macchina. Se vuoi utilizzare il token in un altro browser o su un'altra macchina, imposta self.FIREBASE_APPCHECK_DEBUG_TOKEN sulla stringa del token anziché su true.

  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 che tu lo mantenga privato. Non eseguirne il commit in un repository pubblico o distribuirlo nelle build di produzione della tua app. Se un token registrato viene compromesso, eliminalo immediatamente utilizzando Gestisci token di debug nella console Firebase.