diff --git a/src/_helpers/util.js b/src/_helpers/util.js index af8c9ed..03afe70 100644 --- a/src/_helpers/util.js +++ b/src/_helpers/util.js @@ -28,7 +28,10 @@ export const util = { userLoggedIn: function() { return !!util.currentUser(); }, - logout: function() { return localStorage.clear(); }, + logout: function() { + location.reload(); + return localStorage.clear(); + }, authHeader: function() { let user = util.currentUser(); @@ -164,8 +167,7 @@ export const util = { if (response.status === 401) { console.log('handlePlaintextResponse: unauthenticated request: ' + JSON.stringify(data)); util.logout(); - vue.$route.replace('/login'); - + } else if (response.status === 404) { // todo: show nicer error message console.log('handlePlaintextResponse: received 404: ' + (errData.resource || errData)); diff --git a/src/_services/user.service.js b/src/_services/user.service.js index 3469638..5a2250a 100644 --- a/src/_services/user.service.js +++ b/src/_services/user.service.js @@ -89,7 +89,8 @@ function logout(messages, errors) { return Promise.resolve(); } return fetch(`${config.apiUrl}/auth/logout`, util.getWithAuth()) - .then(util.handleCrudResponse(messages, errors)); + .then(util.handleCrudResponse(messages, errors)) + .then(() => window.location.replace('/login')); } function forgotPassword(username, messages, errors) { @@ -247,7 +248,6 @@ function handleAuthResponse(messages, errors) { if (response.status === 401) { // auto logout if 401 response returned from api logout(); - location.reload(true); } else if (response.status === 404) { // username or password was incorrect