Задать вопрос
DZHAMBULAT-SAMOUCHKA
@DZHAMBULAT-SAMOUCHKA
Frontend разработчик

Как проверять токен при каждом запросе в rtk query?

Привет! Возможно спрашиваю заезженную тему но ответа не нашел. У меня возникла проблема при обновлении access токена когда тот умирает с помощью refresh. У меня есть api созданный с помощью createApi rtk query. Как мне при каждом запросе для этого api проверять умер ли токен. Если да то я выполняю условный tokenUpdate() который останавливает запрос и выполняет логику, а если нет то все оставляю как есть и продолжаю выполнение запроса.
Насколько знаю это делается с помощью middleware но разобраться я так и не смог
  • Вопрос задан
  • 39 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
@karminski
Senior React.JS Developer
Не в том направлении думаете. Когда вы бросаете запрос с истекшим токеном, вам бек должен ответить, что токен истёк. Далее уже вы фронтом кидаете запрос на новый токен и повторяете первый запрос.

Проверять токен на фронте, это неверный шаг. Всё что прилетело на фронт, заведомо нельзя доверять.
Ответ написан
Комментировать
Aetae
@Aetae
Тлен
Ответ Антон Иванов - популярный костыль, но от того не менее ошибочный.
Токен имеет время жизни. Это время жизни можно достать на клиетне из самого токена.
Правильное решение - просто по таймеру за 5-15 минут до устаревания обновлять оный в фоне. В таком случае все нормальные запросы вообще не затронуты.
Чуть менее правильное - проверять на устаревание при каждом обращении к токену и если устарел прямо тут же, в процессе, получать новый.
Все популярные библиотеки умеют это из коробки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы