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écutent 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 App Check 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 lorsque vous exécutez 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, vous verrez un jeton de débogage :

    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 console Firebase, accédez à l'onglet Sécurité > App Check > 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 backend l' accepteront comme valide.

Ce jeton permet d'accéder à vos services backend sans appareil valide. Il est donc essentiel de le garder privé. Ne le commitez 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 Gérer les jetons de débogage dans la Firebase console.

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 d'intégration continue

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

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

    1. Dans la console Firebase, accédez à l'onglet Sécurité > App Check > 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 backend sans appareil valide. Il est donc essentiel de le garder privé. Ne le commitez 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 Gérer les jetons de débogage dans la Firebase console.

    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 keystore 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 d'intégration continue pour que votre jeton de débogage soit disponible dans l'environnement d'intégration continue 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 backend acceptent le jeton qu'elle envoie comme valide.