mirror of https://github.com/halo-dev/halo
Redirect to login page when refresh token is expired
parent
ff33a5f6d6
commit
8e3698b5ca
|
@ -31,16 +31,20 @@ async function reRequest(error) {
|
||||||
let refreshTask = null
|
let refreshTask = null
|
||||||
|
|
||||||
async function refreshToken(error) {
|
async function refreshToken(error) {
|
||||||
|
const refreshToken = store.getters.token.refresh_token
|
||||||
try {
|
try {
|
||||||
if (refreshTask === null) {
|
if (refreshTask === null) {
|
||||||
refreshTask = store.dispatch('refreshToken', store.getters.token.refresh_token)
|
refreshTask = store.dispatch('refreshToken', refreshToken)
|
||||||
}
|
}
|
||||||
|
|
||||||
await refreshTask
|
await refreshTask
|
||||||
|
|
||||||
refreshTask = null
|
|
||||||
} catch (err) {
|
} 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)
|
Vue.$log.error('Failed to refresh token', err)
|
||||||
|
} finally {
|
||||||
|
refreshTask = null
|
||||||
}
|
}
|
||||||
// Rerequest the request
|
// Rerequest the request
|
||||||
return reRequest(error)
|
return reRequest(error)
|
||||||
|
|
Loading…
Reference in New Issue