Utiliser App Check avec le fournisseur de débogage avec Flutter

Une fois App Check appliqué à un service de backend, les fonctionnalités de votre application qui dépendent de ce service de backend ne s'exécutent pas dans un émulateur ni dans un environnement d'intégration continue (CI), car ces environnements ne sont pas considérés comme des appareils valides. Pour exécuter votre application dans ces environnements pendant le développement et les tests, vous devez créer une version de débogage de votre application qui utilise le App Check fournisseur de débogage App Check au lieu d'un fournisseur d'attestation de production.

Plates-formes Apple

Voici comment utiliser le fournisseur de débogage lorsque vous exécutez votre application de manière interactive dans un simulateur (par exemple, lors du développement local) :

  1. Activez App Check avec le fournisseur de débogage juste après avoir initialisé votre application 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. Activez la journalisation de débogage dans votre projet Xcode (version 11.0 ou ultérieure) :

    1. Ouvrez Product > Scheme > Edit scheme (Produit > Schéma > Modifier le schéma).
    2. Sélectionnez Run (Exécuter) dans le menu de gauche, puis sélectionnez l'onglet Arguments.
    3. Dans la section Arguments Passed on Launch (Arguments transmis au lancement), ajoutez -FIRDebugEnabled.
  3. Obtenez votre jeton de débogage :

    1. Ouvrez ios/Runner.xcworkspace avec Xcode et exécutez votre application dans le simulateur ou sur votre appareil de test.

    2. Ouvrez la console Xcode et recherchez le jeton de débogage App Check. Exemple :

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Copiez le jeton (par exemple, 123a4567-b89c-12d3-e456-789012345678).

  4. Enregistrez votre jeton de débogage auprès de App Check :

    1. Dans la Firebase console, accédez à l'onglet Security > App Check > Apps.

    2. Recherchez votre application, cliquez sur le menu à développer (), puis sélectionnez Manage debug tokens (Gérer les jetons de débogage).

    3. Suivez les instructions à l'écran pour enregistrer votre jeton de débogage.

    Capture d'écran de l'élément de menu &quot;Gérer les jetons de débogage&quot; dans la console Firebase

Une fois le jeton enregistré auprès de App Check, vos services backend l'acceptent comme valide.

Ce jeton permet d'accéder à vos services backend sans appareil valide. Il est donc essentiel de le garder privé. **_Ne_** le validez pas dans un dépôt public et ne l'incluez pas dans les versions de production de votre application. Si un jeton enregistré est compromis, supprimez-le immédiatement à l'aide de l'option Manage debug tokens (Gérer les jetons de débogage) dans la Firebase console.

Android

Voici comment utiliser le fournisseur de débogage lorsque vous exécutez votre application de manière interactive dans un émulateur (par exemple, lors du développement local) :

  1. Activez App Check avec le fournisseur de débogage juste après avoir initialisé votre application 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. Obtenez votre jeton de débogage :

    1. Exécutez votre application dans l'émulateur ou sur votre appareil de test.

    2. Recherchez le jeton de débogage App Check dans vos journaux. Exemple :

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. Copiez le jeton (par exemple, 123a4567-b89c-12d3-e456-789012345678).

  3. Enregistrez votre jeton de débogage auprès de App Check :

    1. Dans la Firebase console, accédez à l'onglet Security > App Check > Apps.

    2. Recherchez votre application, cliquez sur le menu à développer (), puis sélectionnez Manage debug tokens (Gérer les jetons de débogage).

    3. Suivez les instructions à l'écran pour enregistrer votre jeton de débogage.

    Capture d'écran de l'élément de menu &quot;Gérer les jetons de débogage&quot; dans la console Firebase

Une fois le jeton enregistré auprès de App Check, vos services backend l'acceptent comme valide.

Ce jeton permet d'accéder à vos services backend sans appareil valide. Il est donc essentiel de le garder privé. **_Ne_** le validez pas dans un dépôt public et ne l'incluez pas dans les versions de production de votre application. Si un jeton enregistré est compromis, supprimez-le immédiatement à l'aide de l'option Manage debug tokens (Gérer les jetons de débogage) dans la Firebase console.

Web

Voici comment utiliser le fournisseur de débogage lorsque vous exécutez votre application à partir de localhost (par exemple, lors du développement local) :

  1. Dans le fichier web/index.html, activez le mode de débogage en définissant self.FIREBASE_APPCHECK_DEBUG_TOKEN sur true :

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Exécutez votre application Web en local et ouvrez les outils pour les développeurs du navigateur. Un jeton de débogage s'affiche dans la console de débogage. Exemple :

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

    Ce jeton est stocké localement dans votre navigateur et sera utilisé chaque fois que vous utiliserez votre application dans le même navigateur sur la même machine. Si vous souhaitez utiliser le jeton dans un autre navigateur ou sur une autre machine, définissez self.FIREBASE_APPCHECK_DEBUG_TOKEN sur la chaîne de jeton au lieu de true.

  3. Enregistrez votre jeton de débogage auprès de App Check :

    1. Dans la Firebase console, accédez à l'onglet Security > App Check > Apps.

    2. Recherchez votre application, cliquez sur le menu à développer (), puis sélectionnez Manage debug tokens (Gérer les jetons de débogage).

    3. Suivez les instructions à l'écran pour enregistrer votre jeton de débogage.

    Capture d'écran de l'élément de menu &quot;Gérer les jetons de débogage&quot; dans la console Firebase

Une fois le jeton enregistré auprès de App Check, vos services backend l'acceptent comme valide.

Ce jeton permet d'accéder à vos services backend sans appareil valide. Il est donc essentiel de le garder privé. **_Ne_** le validez pas dans un dépôt public et ne l'incluez pas dans les versions de production de votre application. Si un jeton enregistré est compromis, supprimez-le immédiatement à l'aide de l'option Manage debug tokens (Gérer les jetons de débogage) dans la Firebase console.