Redirect to login page when refresh token is expired

pull/3445/head
johnniang 2019-05-17 02:22:41 +08:00
parent ff33a5f6d6
commit 8e3698b5ca
1 changed files with 7 additions and 3 deletions

View File

@ -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)