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

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

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 Report

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 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!