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

162
Vistas
Transición de página forzada después de iniciar sesión con nuxt/auth

Suposición

Estoy implementando una función de inicio de sesión en nuxt/auth . Quiero implementar una función de inicio de sesión de invitado, pero cuando presiono el botón para iniciar sesión como invitado, no va a /search , vuelve a user/login . Me gustaría que no vaya a la página de inicio de sesión. La página especificada se muestra por un momento, pero user/login se muestra inmediatamente.

Lo que queremos lograr

Quiero ser redirigido a una página específica después de presionar el botón de inicio de sesión de invitado.

Código

Páginas con un botón de inicio de sesión de invitado

 <script> import * as url from '@/store/constants/url' export default { data ({ $config: { APP_NAME } }) { return { APP_NAME, } }, methods: { guest () {・・.then((response) => {・・this.$auth.loginWith('local', {data: { email: response.email, password: "xxxxxx" }}) }) this.$router.replace('/search') // I get back to the login page without going to /search. } } } </script>

nuxt.config.js

 auth: { token: { global: true }, redirect: { login: '/user/login', logout: '/user/login', callback: false, home: '/' }, strategies: { local: { endpoints: { login: { url: '/api/v1/auth/sign_in', method: 'post', propertyName: 'token' }, logout: { url: '/api/v1/auth/sign_out', method: 'delete' }, user: false } } } },
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Podría deberse a que this.$auth.loginWith es asíncrono, lo que significa que this.$router.replace('/search') se ejecutaría antes de que la función de inicio de sesión de autenticación haya regresado.

Podrías probar esto en su lugar:

 .then((response) => { return this.$auth.loginWith('local', {data: { email: response.email, password: "xxxxxx" }}) }) .then() => { this.$router.replace('/search') }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Como se explica aquí y en muchas de mis respuestas anteriores con respecto a nuxt/auth , debería tener algo como esto.

 <script> export default { methods: { async logMeIn() { const positiveResponseFromBackend = await this.$auth.loginWith('local', { data: { email: 'fancy email', password: 'cool password', }, }) if (positiveResponseFromBackend) { await this.$auth.setUser({ email: 'fancy email', // can of course be dynamic or fetched from your backend as a response password: 'cool password', // same here }) } }, }, } </script>

Esto lo iniciará con éxito a través del módulo de autenticación, por lo tanto, será redirigido automáticamente al valor de su home como en el objeto de redirects (no es necesario un router.push ).

nuxt.config.js

 auth: { redirect: { home: '/search' }, },
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