Utilice App Check con el proveedor de depuración en aplicaciones web

Si, después de haber registrado su aplicación para App Check, desea ejecutar su aplicación en un entorno que App Check normalmente no clasificaría como válido, como localmente durante el desarrollo, o desde un entorno de integración continua (CI), puede crear una compilación de depuración de su aplicación que utiliza el proveedor de depuración App Check en lugar de un proveedor de certificación real.

Utilice el proveedor de depuración en localhost

Para usar el proveedor de depuración mientras ejecuta su aplicación desde localhost (durante el desarrollo, por ejemplo), haga lo siguiente:

  1. En su compilación de depuración, habilite el modo de depuración configurando self.FIREBASE_APPCHECK_DEBUG_TOKEN en true antes de inicializar App Check. Por ejemplo:

    API modular web

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

    API con espacio de nombres web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. Visite su aplicación web localmente y abra la herramienta de desarrollo del navegador. En la consola de depuración, verás un token de depuración:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.
  3. En la sección App Check de Firebase console, elige Administrar tokens de depuración en el menú adicional de tu aplicación. Luego, registre el token de depuración que inició sesión en el paso anterior.

    Captura de pantalla del elemento de menú Administrar tokens de depuración

Después de registrar el token, los servicios backend de Firebase lo aceptarán como válido.

Debido a que este token permite el acceso a sus recursos de Firebase sin un dispositivo válido, es fundamental que lo mantenga privado. No lo envíes a un repositorio público y, si alguna vez un token registrado se ve comprometido, revocarlo inmediatamente en Firebase console.

Este token se almacena localmente en su navegador y se utilizará siempre que utilice su aplicación en el mismo navegador en la misma máquina. Si desea utilizar el token en otro navegador o en otra máquina, configure self.FIREBASE_APPCHECK_DEBUG_TOKEN en la cadena del token en lugar de true .

Utilice el proveedor de depuración en un entorno de CI

Para utilizar el proveedor de depuración en un entorno de integración continua (CI), haga lo siguiente:

  1. En la sección App Check de Firebase console, elige Administrar tokens de depuración en el menú adicional de tu aplicación. Luego, cree un nuevo token de depuración. Necesitará el token en el siguiente paso.

    Debido a que este token permite el acceso a sus recursos de Firebase sin un dispositivo válido, es fundamental que lo mantenga privado. No lo envíes a un repositorio público y, si alguna vez un token registrado se ve comprometido, revocarlo inmediatamente en Firebase console.

    Captura de pantalla del elemento de menú Administrar tokens de depuración

  2. Agregue el token de depuración que acaba de crear al almacén de claves seguro de su sistema CI (por ejemplo, los secretos cifrados de GitHub Actions o las variables cifradas de Travis CI).

  3. Si es necesario, configure su sistema CI para que su token de depuración esté disponible dentro del entorno CI como una variable de entorno. Nombra la variable como APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. En su compilación de depuración, habilite el modo de depuración estableciendo self.FIREBASE_APPCHECK_DEBUG_TOKEN en el valor de la variable de entorno del token de depuración antes de importar App Check. Por ejemplo:

    API modular web

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

    API con espacio de nombres web

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

Cuando su aplicación se ejecuta en un entorno de CI, los servicios backend de Firebase aceptarán el token que envía como válido.