Vue.js SPA: как запретить браузеру открывать кэшированную версию, если срок действия JWT истек? - PullRequest
0 голосов
/ 20 июня 2019

У меня есть проблема, которую я не могу решить с помощью своего приложения Vue.js / Express.

Процесс выглядит следующим образом:

Неаутентифицированный пользователь входит в приложение и получаетстраница авторизации.После проверки подлинности сервер создает и отправляет файл cookie, содержащий JWT и статическое содержимое встроенной страницы Vue.js.

Впоследствии вызовы API REST выполняются на том же сервере, который проверяет действительностьJWT.Когда срок действия JWT истек, возвращается статическое содержимое страницы входа.

Работает нормально, но когда браузер закрывается, а затем снова открывается, если вкладка была сохранена в памяти, а срок действия JWT истек втем временем вы получаете кэшированную версию страницы индекса, в то время как запросы REST не выполняются, поскольку истек срок действия JWT.

Как в этом случае попасть на страницу входа?Спасибо за помощь.:)

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Наконец-то я решил эту проблему, отключив кеш на стороне сервера:

app.use((req, res, next) => {
  res.set('Cache-Control', 'no-store, no-cache, must-revalidate, private')
  next()
})
0 голосов
/ 20 июня 2019

Хорошо, что запросы не выполняются. В зависимости от ответа на запрос, вам просто нужно перенаправить пользователя на страницу входа в переднем приложении.

Вот сценарий:

Запрос => аутентифицирован? index: логин

...