у меня сделано так:
В сторе храню функцию проверки ключа, которая проверяет, если есть ключ (jwt), то проверить его на устаревание, если время подошло- отправить запрос на продление ключа, если нет, вернуть true, если нет ключа- вернуть false.
Далее эту проверку подсовываю под каждый роут в глобальной router.beforeEach, если проверка возвращает true- следует next() от роута, если false- редирект на страницу с формой логина