Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

323
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!