diff options
author | Yoshie Muranaka <yoshiemuranaka@gmail.com> | 2020-05-15 18:06:46 +0300 |
---|---|---|
committer | Derick Montague <derick.montague@ibm.com> | 2020-05-16 23:50:48 +0300 |
commit | 68069e1955f63219601a9dd9100b56075fb2099c (patch) | |
tree | af3d236c24cfe9bd6862576eb189bdc3cacf49cf /src | |
parent | a3cbc659093a349adb998b36b16fbb382109868f (diff) | |
download | webui-vue-68069e1955f63219601a9dd9100b56075fb2099c.tar.xz |
Add logout commit for 401 response
Change the authentication logout from router to api interceptor,
so that if a user accidentally navigates to login page by clicking
the browser back button, they aren't automatically logged out.
Logouts would occur when hitting a 401 response or if the user
clicks the logout button from app header.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I6290070b63e724b75b3ac2fc39b3c7e814fbfc3e
Diffstat (limited to 'src')
-rw-r--r-- | src/router/index.js | 3 | ||||
-rw-r--r-- | src/store/api.js | 3 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/router/index.js b/src/router/index.js index 33743fe0..c3d44390 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -98,9 +98,6 @@ const router = new VueRouter({ }); router.beforeEach((to, from, next) => { - // Commit logout to remove XSRF-TOKEN cookie when - // redirected to login page (eg 401 response) - if (to.name === 'login') store.commit('authentication/logout'); if (to.matched.some(record => record.meta.requiresAuth)) { if (store.getters['authentication/isLoggedIn']) { next(); diff --git a/src/store/api.js b/src/store/api.js index 24a38e4b..c8f1edae 100644 --- a/src/store/api.js +++ b/src/store/api.js @@ -1,5 +1,6 @@ import Axios from 'axios'; import router from '../router'; +import store from '@/store'; const api = Axios.create({ withCredentials: true @@ -12,6 +13,8 @@ api.interceptors.response.use(undefined, error => { if (response.status == 401) { if (response.config.url != '/login') { window.location = '/login'; + // Commit logout to remove XSRF-TOKEN cookie + store.commit('authentication/logout'); } } |