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

Si, après avoir enregistré votre application pour App Check, vous souhaitez exécuter votre application dans un environnement qu'App Check ne classerait normalement pas comme valide, comme localement pendant le développement, ou à partir d'un environnement d'intégration continue (CI), vous pouvez créer une version de débogage de votre application qui utilise le fournisseur de débogage App Check au lieu d'un véritable fournisseur d'attestation.

Utiliser le fournisseur de débogage sur localhost

Pour utiliser le fournisseur de débogage lors de l' exécution de votre application à partir de localhost ( au cours du développement, par exemple), procédez comme suit:

  1. Dans votre version de débogage, activez le mode de débogage en définissant self.FIREBASE_APPCHECK_DEBUG_TOKEN à true avant initialisez App Check. Par exemple:

    Web version 9

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

    Web version 8

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. Visitez votre application Web localement et ouvrez l'outil de développement 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. Dans les paramètres du projet> App Vérifiez la section de la console Firebase, choisissez Gérer les jetons de débogage dans le menu de débordement de votre application. Ensuite, enregistrez le jeton de débogage que vous avez connecté à l'étape précédente.

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

Après avoir enregistré le jeton, les services backend Firebase l'accepteront comme valide.

Étant donné que ce jeton permet d'accéder à vos ressources Firebase sans appareil valide, il est essentiel que vous le gardiez privé. Ne le validez pas dans un référentiel public, et si un jeton enregistré est compromis, révoquez-le immédiatement 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 voulez utiliser le jeton dans un autre navigateur ou sur une autre machine, mettre self.FIREBASE_APPCHECK_DEBUG_TOKEN à la chaîne de jeton au lieu de true .

Utiliser le fournisseur de débogage dans un environnement CI

Pour utiliser le fournisseur de débogage dans un environnement d'intégration continue (CI), procédez comme suit :

  1. Dans les paramètres du projet> App Vérifiez la section de la console Firebase, choisissez Gérer les jetons de débogage dans le menu de débordement de votre application. Ensuite, créez un nouveau jeton de débogage. Vous aurez besoin du jeton à l'étape suivante.

    Étant donné que ce jeton permet d'accéder à vos ressources Firebase sans appareil valide, il est essentiel que vous le gardiez privé. Ne le validez pas dans un référentiel public, et si un jeton enregistré est compromis, révoquez-le immédiatement dans la console Firebase.

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

  2. Ajouter le débogage jeton que vous venez de créer votre clé sécurisé système CI magasin (par exemple, des Actions GitHub secrets chiffrés ou de Travis CI variables chiffrées ).

  3. Si nécessaire, configurez votre système CI pour rendre votre jeton de débogage disponible dans l'environnement CI en tant que variable d'environnement. Nom de la variable quelque chose comme APP_CHECK_DEBUG_TOKEN_FROM_CI .

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

    Web version 9

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

    Web version 8

    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 CI, les services backend Firebase accepteront le jeton qu'il envoie comme valide.