diff --git a/src/router.js b/src/router.js index ae65066d529..fb7a5359a83 100644 --- a/src/router.js +++ b/src/router.js @@ -61,7 +61,9 @@ const router = createRouter({ /** * On each page change, check if it needs authentication. - * If required, but the user is not authenticated (token unknown), then redirect to 'sign-in' + * If required, but the user is not authenticated (token unknown): + * - then redirect to 'sign-in' + * - the initial url is passed as query parameter ?next=, in order to redirect back after login */ router.beforeEach(async (to, from, next) => { const store = useAppStore() @@ -70,7 +72,7 @@ const router = createRouter({ await localeManager.changeLanguage(locale) } if (to.meta.requiresAuth && !store.user.token) { - return next({ name: 'sign-in', query: { redirect: to.fullPath } }) + return next({ name: 'sign-in', query: { next: to.fullPath } }) } next() diff --git a/src/views/SignIn.vue b/src/views/SignIn.vue index 2d00b5a227c..598e9592dec 100644 --- a/src/views/SignIn.vue +++ b/src/views/SignIn.vue @@ -105,7 +105,7 @@ export default { }) }, done() { - const path = this.$route.query.redirect || '/dashboard' + const path = this.$route.query.next || '/dashboard' this.$router.push({ path: path, query: { signinSuccess: 'true' } }) } },