I'm having trouble redirecting my user when logging in with nuxt's default $auth configuration. Here's my problem:
- Whenever I log in using the laravel/jwt provider, it redirects to my website home.
- I have several points on the site where I need to open a modal with my login and I need to keep the user logged in on the same page he is on.
- But I already tried to follow the documentation using the fake redirect flag and still I couldn't.
Is there any way to log in, if he is not on a specific page, such as the login page, he just refreshes instead of redirecting to the / route?
My usage:
async login() {
try {
this.loading(true)
await this.$auth.loginWith('laravelJWT', { data: this.form })
if (!this.redirectHome) {
this.$router.back()
this.$emit('is-logged')
}
} catch (error) {
this.loginError = true
} finally {
this.loading(false)
}
},
CodePudding user response:
My resolution:
async login() {
await this.$auth
.loginWith('laravelJWT', { data: this.form })
.then(() => {
this.loading(true)
if (this.$route.name !== 'login') {
this.$router.go(this.$router.currentRoute)
}
this.$emit('is-logged')
})
.catch(() => {
this.loginError = true
})
.finally(() => {
this.loading(false)
})
},
CodePudding user response:
use this.$auth.options.redirect = false
before loginWith
it will disable redirect.
when the promise resolved then you can call other api to refresh data or do whatever you want.