Utilizza App Check con il provider di debug con Flutter

Dopo aver registrato l'app per App Check, l'app normalmente non verrà eseguita in un emulatore o da un ambiente di integrazione continua (CI), poiché tali ambienti non si qualificano come dispositivi validi. Se vuoi eseguire la tua app in un ambiente di questo tipo durante lo sviluppo e il test, puoi creare una build di debug della tua app che utilizza il provider di debug App Check anziché un vero provider di attestazione.

Piattaforme Apple

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

  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. 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. Apri ios/Runner.xcworkspace con Xcode ed esegui la tua app nel simulatore. La tua app stamperà un token di debug locale sull'output di debug quando Firebase tenta di inviare una richiesta al back-end. Per esempio:

    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.

Androide

Per utilizzare il provider di debug durante l'esecuzione dell'app Flutter in un ambiente Android, implementa il seguente codice nell'applicazione Flutter:

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(
    webRecaptchaSiteKey: 'recaptcha-v3-site-key',
    // Set androidProvider to `AndroidProvider.debug`
    androidProvider: AndroidProvider.debug,
  );
  runApp(App());
}

La tua app stamperà un token di debug locale sull'output di debug quando Firebase tenta di inviare una richiesta al back-end. Per esempio:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. 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.

ragnatela

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

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

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Esegui la tua app Web localmente e apri lo strumento di sviluppo del browser. Nella console di debug vedrai un token di debug:

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

    Questo token è archiviato localmente nel tuo browser e verrà utilizzato ogni volta che utilizzi la tua app nello stesso browser sullo stesso computer. Se desideri utilizzare il token in un altro browser o su un altro computer, imposta self.FIREBASE_APPCHECK_DEBUG_TOKEN sulla stringa del token anziché su true .

  3. 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.