Usa la Verificación de aplicaciones mediante el proveedor de depuración en aplicaciones web

Si, después de registrar la app en la Verificación de aplicaciones, quieres ejecutarla en un entorno que la Verificación de aplicaciones no suele clasificar como válido, como de forma local durante el desarrollo, o desde un entorno de integración continua (CI), puedes crear una compilación de depuración de la app que use el proveedor de depuración de la Verificación de aplicaciones, en lugar de un proveedor de certificación real.

Usa el proveedor de depuración en localhost

Para usar el proveedor de depuración mientras ejecutas la app desde localhost (por ejemplo, durante el desarrollo), haz lo siguiente:

  1. En la compilación de depuración, habilita el modo correspondiente estableciendo self.FIREBASE_APPCHECK_DEBUG_TOKEN en true antes de inicializar la Verificación de aplicaciones. 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. Visita la app web de forma local y abre la herramienta para desarrolladores 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 Verificación de aplicaciones de Firebase console, selecciona Administrar tokens de depuración (Manage debug tokens) en el menú ampliado de la app. Luego, registra el token de depuración que ingresaste en el paso anterior.

    Captura de pantalla del elemento del menú Administrar tokens de depuración (Manage debug tokens)

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

Debido a que este token permite el acceso a tus recursos de Firebase sin un dispositivo válido, es fundamental que sea privado. No lo confirmes en un repositorio público y, si se vulnera un token registrado, revócalo de inmediato en Firebase console.

Este token se almacena de forma local en tu navegador y se usará cada vez que uses la app en la misma combinación de navegador y máquina. Si en su lugar quieres usar el token en otro navegador o en otra máquina, configura self.FIREBASE_APPCHECK_DEBUG_TOKEN como la string del token en lugar de true.

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

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

  1. En la sección Verificación de aplicaciones de Firebase console, selecciona Administrar tokens de depuración (Manage debug tokens) en el menú ampliado de la app. Luego, crea un token de depuración nuevo. Lo necesitarás en el siguiente paso.

    Debido a que este token permite el acceso a tus recursos de Firebase sin un dispositivo válido, es fundamental que sea privado. No lo confirmes en un repositorio público y, si un token registrado se ve comprometido, revócalo de inmediato en Firebase console.

    Captura de pantalla del elemento del menú Administrar tokens de depuración (Manage debug tokens)

  2. Agrega el token de depuración que acabas de crear al almacén de claves seguro del sistema de CI (por ejemplo, los secretos encriptados de GitHub Actions o las variables encriptadas de Travis CI).

  3. Si es necesario, configura el sistema de CI a fin de que el token de depuración esté disponible dentro del entorno de CI como una variable de entorno. Asigna un nombre a la variable, como APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. En la compilación de depuración, habilita el modo de depuración mediante la configuración de self.FIREBASE_APPCHECK_DEBUG_TOKEN como el valor de la variable de entorno del token de depuración antes de importar la Verificación de aplicaciones. 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 la app se ejecute en un entorno de CI, los servicios de backend de Firebase aceptarán el token que envía como válido.