Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

318
Vistas
¿Cómo puedo usar el objeto de usuario de Firebase fuera de la función de Firebase?

Puedo iniciar sesión en mi aplicación usando Google Auth de Firebase. Sin embargo, parece que no puedo hacer que ninguna parte del objeto Usuario aparezca en la parte frontal de mi aplicación (estoy usando plantillas Pug). ¿Cómo puedo conseguir esto?

Este es el código que estoy usando para iniciar la sesión del usuario en mi aplicación web usando Google Auth:

 document.getElementById('LogInButton').addEventListener('click', (e) => { signInWithPopup(auth, provider) .then((result) => { // This gives you a Google Access Token. You can use it to access the Google API. const credential = GoogleAuthProvider.credentialFromResult(result); const token = credential.accessToken; // The signed-in user info. const user = result.user; // ... window.setTimeout(() => { location.assign('/dashboard'); }, 1500); }) .catch((error) => { // Handle Errors here. const errorCode = error.code; const errorMessage = error.message; // The email of the user's account used. const email = error.email; // The AuthCredential type that was used. const credential = GoogleAuthProvider.credentialFromError(error); // ... }); });

Me gustaría poder hacer referencia a la variable "usuario" en mis archivos .pug en toda la aplicación. En este momento, tengo un archivo viewController donde puedo pasar datos, por ejemplo:

 exports.getSignIn = (req, res) => { res.status(200).render('signin', { title: `Sign in`, }); };

¿Hay alguna manera de pasar el objeto de usuario de index.js a mi viewController para que esté disponible en la plantilla Pug? Estoy bastante perdido. Cualquier ayuda sería agradecida.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema aquí es doble:

  1. Debe pasar la variable a su plantilla pug, lo que puede hacer cuando le dice a pug que represente la plantilla (como se muestra, por ejemplo , aquí ).
  2. Los datos de usuario se cargan desde Firebase de forma asíncrona. Solo necesita renderizar la plantilla una vez que se cargan los datos, o volver a renderizar la plantilla cuando se haya cargado.

No veo ninguna solución enlatada para este segundo paso, pero normalmente buscaría una forma de llamar a la representación pug desde dentro de la devolución de llamada (entonces, donde ahora tiene location.assign('/dashboard') ).

También vea esta pregunta similar:

  • Pase datos cargados de forma asíncrona a pug-html-loader en webpack
  • ¿Cómo renderizar dinámicamente la salida de la función Async con Express/Pug? (problema similar, pero luego en Express).
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda