Utiliser App Check avec le fournisseur de débogage dans les applications Web

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écuteront pas à partir de localhost ni d'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 fournisseur de débogage App Check au lieu d'un fournisseur d'attestation de production.

Utiliser le fournisseur de débogage sur localhost

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

  1. Dans votre version de débogage, activez le mode débogage en définissant self.FIREBASE_APPCHECK_DEBUG_TOKEN sur true avant d'initialiser App Check. Exemple :

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. Accédez à votre application Web en local et ouvrez les outils pour les développeurs du navigateur. Dans la console de débogage, un jeton de débogage s'affiche :

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. Enregistrez votre jeton de débogage auprès de App Check :

    1. Dans la consoleFirebase, accédez à Sécurité > App Check > onglet Applications.

    2. Recherchez votre application, cliquez sur le menu à trois points (), puis sélectionnez 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 "Gérer les jetons de débogage" dans la console Firebase

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

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

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.

Utiliser le fournisseur de débogage dans un environnement CI

Voici comment utiliser le fournisseur de débogage dans un environnement d'intégration continue (CI) :

  1. Dans la console Firebase, créez un jeton de débogage :

    1. Dans la consoleFirebase, accédez à Sécurité > App Check > onglet Applications.

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

    3. Suivez les instructions à l'écran pour créer un jeton de débogage.

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

    Capture d'écran de l'élément de menu "Gérer les jetons de débogage"

  2. Ajoutez le jeton de débogage que vous venez de créer au magasin de clés sécurisé de votre système d'intégration continue (par exemple, les secrets chiffrés de GitHub Actions ou les variables chiffrées de Travis CI).

  3. Si nécessaire, configurez votre système CI pour que votre jeton de débogage soit disponible dans l'environnement CI en tant que variable d'environnement. Nommez la variable, par exemple APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. Dans votre version de débogage, activez le mode débogage en définissant self.FIREBASE_APPCHECK_DEBUG_TOKEN sur la valeur de la variable d'environnement du jeton de débogage avant d'importer App Check. Exemple :

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

Lorsque votre application s'exécute dans un environnement d'intégration continue, vos services de backend acceptent le jeton qu'elle envoie comme valide.