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

226
Vistas
Vue: muestra el formulario de registro para nuevos usuarios autenticados con firebase

Tengo una aplicación Vue donde se implementa firebase como BaaS . Para verificar cuándo se autentica al usuario, estoy usando el método onAuthStateChanged que se proporciona de forma predeterminada desde firebase, pero me está dando un problema.

En detalle, estoy verificando si un usuario nunca inició sesión en la aplicación usando un proveedor de autenticación y se registró en la base de datos RTDB al compilar el formulario, al verificar authResult.additionalUserInfo.isNewUser que se proporciona desde la devolución de llamada de Firebase UI, pero esto tiene un inconveniente que necesito arreglar.

De hecho, no puedo mostrar el formulario de registro después de que se llame a la devolución de llamada exitosa también si la condición isNewUser es verdadera porque cuando se llama a onAuthStateChanged y el user no es nulo, ignorará mi declaración if() . Estoy usando este método para mostrar la interfaz de usuario de firebase y administrar esta condición:

 showFirebaseLoginUI() { fbui.start(this.$refs.firebaseWidget, { signInOptions: [ firebase.auth.EmailAuthProvider.PROVIDER_ID, firebase.auth.GoogleAuthProvider.PROVIDER_ID, firebase.auth.TwitterAuthProvider.PROVIDER_ID, firebase.auth.FacebookAuthProvider.PROVIDER_ID, ], callbacks: { signInSuccessWithAuthResult: (authResult) => { console.log(authResult) if( authResult.additionalUserInfo.isNewUser ){ console.log('New user') this.showWizard = true } else { this.$router.push({ name: 'Home' }) } } }, signInFlow: 'popup' }); }

Se mostrará el registro de la consola, pero no el asistente y el usuario será redirigido directamente a la página de inicio.

 created() { onAuthStateChanged(getAuth(app), (user) => { if( user && !this.showWizard ){ this.$router.push({ name: 'Home' }) } }) }

Dado que necesito agregar al usuario a la base de datos después de que agregue información y cuando un usuario ya haya iniciado sesión, evite que se muestre la página de inicio de sesión, ¿cómo puedo solucionar esto?

about 4 years ago · Juan Pablo Isaza
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