diff --git a/web/server/vue-cli/src/main.js b/web/server/vue-cli/src/main.js index d73e7a4c8f..86b593e7b1 100644 --- a/web/server/vue-cli/src/main.js +++ b/web/server/vue-cli/src/main.js @@ -64,7 +64,8 @@ router.beforeResolve((to, from, next) => { store.dispatch(GET_AUTH_PARAMS).then(() => { if (to.matched.some(record => record.meta.requiresAuth)) { if (store.getters.authParams.requiresAuthentication && - !store.getters.isAuthenticated + (!store.getters.authParams.sessionStillActive || + !store.getters.isAuthenticated) ) { // Redirect the user to the login page but keep the original path to // redirect the user back once logged in. diff --git a/web/server/vue-cli/src/store/modules/auth.js b/web/server/vue-cli/src/store/modules/auth.js index 61c684fe39..bae3068c9f 100644 --- a/web/server/vue-cli/src/store/modules/auth.js +++ b/web/server/vue-cli/src/store/modules/auth.js @@ -37,8 +37,6 @@ const getters = { const actions = { [GET_AUTH_PARAMS]({ commit }) { - if (state.authParams) return state.authParams; - return new Promise(resolve => { authService.getClient().getAuthParameters( handleThriftError(params => { diff --git a/web/server/vue-cli/src/views/Login.vue b/web/server/vue-cli/src/views/Login.vue index a7f87106cf..bbd5e2190a 100644 --- a/web/server/vue-cli/src/views/Login.vue +++ b/web/server/vue-cli/src/views/Login.vue @@ -167,6 +167,7 @@ export default { computed: { ...mapGetters([ + "authParams", "isAuthenticated" ]), ssoButtonText() { @@ -185,7 +186,7 @@ export default { }, created() { - if (this.isAuthenticated) { + if (this.isAuthenticated && this.authParams.sessionStillActive) { const returnTo = this.$router.currentRoute.query["return_to"]; this.$router.replace(returnTo || { name: "products" }); }