на любой запрос с авторизацией будет 401, соответственно. Хочу с помощью рефреш токена получать новый токен, и потом повторять запрос с уже новым токеном. Обновление токена работает и т.п.
Цель: Повторить неудачный запрос с протухшим токеном, после того как новый токен получен.
Проблема: Т.к. есть Vuex, надо сохранить новый ответ в стор. А какой экшен диспатчился - неизвестно.
Решение: Подумал о том, чтобы написать плагин для стора, который подписывается на экшены и всегда сохраняет последний экшен ( если это не экшен на обновление токена). Таким образом, после успешного обновления токена я просто еще раз вызываю последний экшен ( с пейлоадом, который тоже сохраняется)
Нет решения проще? Кроме setTimeout и обновления токена вручную :)
Я писала обработку ошибок axios'а, который когда встречал ошибку токена - перезапрашивал его и повторял запрос (это не сложно в catch сделать). Таким образом запрос не резолвился, пока не выполнился перезапрос токена и повтор запроса. Есть нюансы, конечно. Это не в контексте vue, это вообще общая концепция, которую я пару раз использовала. Т.е. вообще от стора никак не зависело.
А обычные интерсепторы не помогли ?
Обсуждают сегодня