169 похожих чатов

Пацаны как в с помощью редакс сага перед запросом делать

проверку на валидность JWT ACCESS TOKEN ? Типо если ок то ок, если нет, то делай то и то. Короче что то типа мидлвера

7 ответов

13 просмотров

при каждом запросе лучше не делать. делай проверку когда получаешь 401 с сервера. что-то типо того

ну точнее уже не проверку тогда а меняй токен 🙂

Ferrari- Автор вопроса

Ну да соглы а как мне отобрать экшены ? Типо если какой то из них сработал и например вернул 401 не авторизирован, сделай то и то ? Типо к каждому экшену писать это как то отстойно рушится DRY разве нельзя сделать это универсально как то ?

если запрос идет через аксиос, то в интерцепторе можно схватить 401/403, обработать и если это случай когда нужно обновить ацесс токен отправить запрос по новой

При чем тут экшены? Сделай одну базовую функцию-генератор, которая умеет делать запросы. В этой функции обработай 401, опиши там логику получения токена и ретрай при необходимости. Изо всех саг, где исполняешь запросы, вместо вызова апи напрямую, вызывай через созданную тобой функцию. Всё

Ferrari- Автор вопроса

Всмс экшены мне нужны для того, чтобы ну вот есть у меня экшены которые делают запросы на эндпоинты к примеру. Где стоит валидатор AUTHENTICATED ONLY. Я такой беру к примеру эти экшены пишу что то типа мидлвера где описываю если сработал такой экшн убедись что токен валидный. Или мне в ответ пришла 401 не авторизирован, значит сделай это. Просто писать к каждому экшену такую проверку в try catch такое себе ломается DRY

Экшены — это объекты. Они не делают запросы. Это просто объекты

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

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта