Спасибо, что зашли.
Я просмотрел и прочитал тысячи статей о том, как защитить мое приложение Vue. js с токеном, хранящимся в localStorage.
В мое приложение JWT хранится в HttpOnly cook ie, что означает, что только сервер может прочитать его значение.
В «традиционном» виде я бы реализовал методы входа в систему и выхода из системы, где я устанавливаю и удаляю значение в localStorage, и в моем маршрутизаторе я бы добавил:
router.beforeEach((to, from, next) => {
const loggedIn = localStorage.getItem('token');
if (to.matched.some(record => record.meta.requiresAuth && !loggedIn)) {
// Some failure logic.
}
next()
});
Но в моем случае я не могу этого сделать, и мне интересно, как лучше всего установить защиту для моего веб-приложения ?
Я попробовал немного другой способ для своего использования:
router.beforeEach(async (to, from, next) => {
if (to.matched.some((record) => record.meta.requiresAuth)) {
try {
await store.dispatch(`authModule/fetchUserData`);
} catch (e) {
// Some failure logic.
}
}
next();
});
Но в основном это действие происходит на каждой вкладке, и, конечно, другие действия отправляются, прежде чем я получу ответ на этот вопрос. request.
Интересно, это лучший способ просто вернуть ответ 403 для каждого запроса и установить перехватчик в топоре ios, поэтому, как только я получу 403, я выйду из системы?
Большое спасибо за ваш он LP.