В среднем, делаю так. Если есть токен. Пытаюсь работать. Если токен сдох, посылаем пользователя на страницу логина, для получения токена. Ну и подписку на изменение роли, для полной реактивности
ну да. И в зависимости от пермишина. даёш разрешения на роут. Вернее даже создаёш два набора маршрутов. одни общедоступные (ну например /signin). Вторые идут с наборами пермишенов. Когда приложение узнаёт о пермишенах в маршуты добавляются разрещённые.