diff --git a/src/resources/js/app.js b/src/resources/js/app.js --- a/src/resources/js/app.js +++ b/src/resources/js/app.js @@ -134,7 +134,6 @@ localStorage.setItem('token', response.access_token) localStorage.setItem('refreshToken', response.refresh_token) - axios.defaults.headers.common.Authorization = 'Bearer ' + response.access_token if (response.email) { this.authInfo = response @@ -159,7 +158,7 @@ // while the token is being refreshed this.refreshTimeout = setTimeout(() => { - axios.post('api/auth/refresh', { refresh_token: response.refresh_token }).then(response => { + axios.post('api/auth/refresh', { refresh_token: localStorage.getItem('refreshToken') }).then(response => { this.loginUser(response.data, false, true) }) }, timeout * 1000) @@ -357,6 +356,14 @@ // on a running application. We need this for browser testing. config.headers['X-Test-Payment-Provider'] = window.config.paymentProvider + // Set the Authorization header. Note that some request might force + // empty Authorization header therefore we check if the header is already set, + // not whether it's empty + const token = localStorage.getItem('token') + if (token && !('Authorization' in config.headers)) { + config.headers.Authorization = 'Bearer ' + token + } + let loader = config.loader if (loader) { startLoading(loader) diff --git a/src/resources/vue/App.vue b/src/resources/vue/App.vue --- a/src/resources/vue/App.vue +++ b/src/resources/vue/App.vue @@ -29,8 +29,6 @@ const token = localStorage.getItem('token') if (token) { - axios.defaults.headers.common.Authorization = 'Bearer ' + token - const post = { refresh_token: localStorage.getItem("refreshToken") } axios.post('/api/auth/info?refresh=1', post, { ignoreErrors: true, loader: true })