Use 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 usa el proveedor de depuración de App Check en lugar de un proveedor de atestación real.

Use 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:

    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. Visite su aplicación web localmente y abra la herramienta de desarrollo del navegador. En la consola de depuración, verá 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 Verificación de la aplicación de Firebase console, elija Administrar tokens de depuración en el menú adicional de su 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 crucial que lo mantenga en privado. No lo confirme en un repositorio público y, si alguna vez se compromete un token registrado, revélelo de inmediato en la consola de Firebase.

Este token se almacena localmente en su navegador y se usará cada vez que use su aplicación en el mismo navegador en la misma máquina. Si desea usar el token en otro navegador o en otra máquina, establezca self.FIREBASE_APPCHECK_DEBUG_TOKEN en la cadena del token en lugar de true .

Usar 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 Verificación de la aplicación de Firebase console, elija Administrar tokens de depuración en el menú adicional de su 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 crucial que lo mantenga en privado. No lo confirme en un repositorio público y, si alguna vez se compromete un token registrado, revélelo de inmediato en la consola de Firebase.

    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 seguras 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 de CI para que su token de depuración esté disponible dentro del entorno de 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 configurando 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:

    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 */);
    

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