Когда я меняю свое имя пользователя в приложении, которое я создал. При следующем вызове мой бэкэнд возвращает код 401, потому что вам нужно снова пройти аутентификацию. Это связано с тем, что токен jwt частично основан на имени пользователя.
В моем плагине axios у меня есть перенаправление на страницу входа:
$axios.onError(error => {
const code = parseInt(error.response && error.response.status)
if (code === 401 || code === 403) {
app.$auth.logout()
} else {
store.commit('snackbar/show', {
'text': 'Something went wrong',
'color': 'red'
})
}
})
Это функция выхода из системы:
logout () {
app.$cookies.remove(this.KEY_NAME)
store.commit('removeToken')
const path = app.localePath({ name: 'index' })
if (process.browser) {
app.router.push(path)
} else {
redirect(path)
}
}
Он перенаправляет меня на страницу входа в систему, но сохраняет всплывающее окно с ошибкой, как показано на изображениях ниже:
Обычная страница входа:
Обычная страница входа
Страница входа после перенаправления с 401:
Вход после перенаправления с 401
Я также попробовал метод go
, и он работал, но я все еще вижу ошибку, появляющуюся, и я не хочу вызывать go при выходе из системы обычным способом.
Есть ли способ скрыть это или игнорировать эту ошибку, так как я обрабатываю ее?