Охраняйте приложение Vue. js с поваром ie вместо localStorage - PullRequest
1 голос
/ 06 апреля 2020

Спасибо, что зашли.

Я просмотрел и прочитал тысячи статей о том, как защитить мое приложение 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...