From 8e3698b5ca84f952af8dbd33060cda0f7c0baa15 Mon Sep 17 00:00:00 2001 From: johnniang Date: Fri, 17 May 2019 02:22:41 +0800 Subject: [PATCH] Redirect to login page when refresh token is expired --- src/utils/service.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/utils/service.js b/src/utils/service.js index 5f3c5116..d8508ee5 100644 --- a/src/utils/service.js +++ b/src/utils/service.js @@ -31,16 +31,20 @@ async function reRequest(error) { let refreshTask = null async function refreshToken(error) { + const refreshToken = store.getters.token.refresh_token try { if (refreshTask === null) { - refreshTask = store.dispatch('refreshToken', store.getters.token.refresh_token) + refreshTask = store.dispatch('refreshToken', refreshToken) } await refreshTask - - refreshTask = null } catch (err) { + if (err.response && err.response.data && err.response.data.data === refreshToken) { + router.push({ name: 'Login' }) + } Vue.$log.error('Failed to refresh token', err) + } finally { + refreshTask = null } // Rerequest the request return reRequest(error)