diff --git a/resources/assets/js/App.vue b/resources/assets/js/App.vue index 8ec40a06..5eeb56c2 100644 --- a/resources/assets/js/App.vue +++ b/resources/assets/js/App.vue @@ -185,15 +185,12 @@ const onAnyStoreAction = ({ onError, // hook if the action throws or rejects }) => { onError((error) => { - if (error.response && error.response.status) { - console.log(error.response) - console.log(error.response.status) - switch (error.response.status) { case 401: - authStore.logout() - router.push({name: 'login'}) + authStore.logout().then(() => { + window.location.href = '/' + }) break case 403: router.push({name: 'error403'}) diff --git a/resources/assets/js/bootstrap.js b/resources/assets/js/bootstrap.js index 57bafd07..ebb9c0f8 100644 --- a/resources/assets/js/bootstrap.js +++ b/resources/assets/js/bootstrap.js @@ -24,6 +24,18 @@ window.axios = axios window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest' +axios.interceptors.response.use(undefined, function (error) { + if (error.response && error.response.status) { + switch (error.response.status) { + case 401: + window.location.href = '/' + break + } + } + + return Promise.reject(error); +}) + /** * Next we will register the CSRF Token as a common header with Axios so that * all outgoing HTTP requests automatically have it attached. This is just diff --git a/resources/assets/js/views/errors/Error403View.vue b/resources/assets/js/views/errors/Error403View.vue index 011760ca..eb25e0a4 100644 --- a/resources/assets/js/views/errors/Error403View.vue +++ b/resources/assets/js/views/errors/Error403View.vue @@ -1,7 +1,7 @@