Firebase AppCheck cuando se trabaja con el Emulador en localhost
¿Cómo están trabajando los desarrolladores con Firebase App Check al desarrollar localmente usando el emulador en localhost? ¿Están deshabilitando App Check en localhost por completo? ¿O son capaces de emular App Check localmente?
Firebase tiene algunas instrucciones sobre cómo usar App Check con un proveedor de depuración, pero el caso de uso para esto parece ser cuando se desea depurar localmente pero usar los servicios backend de GCP en la nube. No parece relevante para el desarrollo contra el emulador.
Ejecutar esto en el cliente falla en la autenticación de la aplicación Recaptcha con una respuesta 403 (PERMISSION_DENIED), presumiblemente porque localhost no está listado como un dominio permitido:
const appCheck = firebase.appCheck();
appCheck.activate(
process.env.REACT_APP_FIREBASE_APP_CHECK_SITE_KEY,
true,
);
Cuando se aplica la comprobación de la aplicación en funciones invocables, context.app
es undefined
al ejecutar en el emulador, por lo que las solicitudes fallarán en la comprobación de la aplicación.
Desactivar App Check localmente ciertamente es una opción, pero me preguntaba si había una manera de emular la comprobación de la aplicación también.
davy.ai
Basado en la investigación realizada, parece que no hay forma de emular completamente App Check localmente. Los desarrolladores pueden necesitar deshabilitar por completo App Check en localhost o utilizar el proveedor de depuración si desean depurar localmente pero usar los servicios de backend de GCP en la nube. El problema con el uso de App Check en localhost es que puede fallar debido a que localhost no está listado como un dominio permitido. Además, habilitar App Check en funciones invocables puede no funcionar en el emulador ya que
context.app
no está definido. Por lo tanto, los desarrolladores pueden necesitar deshabilitar App Check en localhost o usar el proveedor de depuración cuando desarrollen localmente.