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

Коллеги, подскажите, где можно разместить редирект на страницу логина? Использую

axios, и напрашивается в интерсепторе, мол, если код ошибки 401, перенаправь на страницу авторизации — router.push('/login'). Что думаете?

18 ответов

8 просмотров

Почему вы проверяете по коду? Может быть логичнее проверять по try catch и/или COOKIE(httpOnly если не задана)/TOKEN (in localStorage) ?

Alexey-Topunov Автор вопроса
Alexey Topunov
Соглашение с бэкендером.

Как же хорошо, что я фулстэк : ) (Да, я люблю себя 😁)

Рамазон Сангов
Как же хорошо, что я фулстэк : ) (Да, я люблю себя...

Ты себя не любишь, ибо выполняешь двойной объём работу почти за тот же прайс, как если бы выбрал одну сторону

+, вопрос акутален для меня тоже

В axios добавить возможность создавать свои обработчики разных ситуаций типа 401 ошибки. В App.vue установить обработчик, в котором уже и с роутером работать, и любые сообщения на UI показывать, и стор дёргать или обновлять страницу

Grigorii K. Shartsev
В axios добавить возможность создавать свои обрабо...

что за "свои обработчики", или это про интерсептор ?

Артём
что за "свои обработчики", или это про интерсептор...

Условно const unAuthorizedHandlers = new Set() someAxios.interseptors.response.use((res) => res, (error) => { if (401) { for (const handler of unAuthorizedHandlers) { handler() } } }) const addUnAuthorized = (handler) => unAuthorizedHandlers.add(handler) const removeUnAuthorized = (handler) => unAuthorizedHandlers.delete(handler) И либо экспортировать последние две функции, либо засунуть в сам инстанс axios-а, либо сделать более толстую обёрткую.

Grigorii K. Shartsev
Условно const unAuthorizedHandlers = new Set() s...

А как это будет выглядеть с APp.vue , где мы делаем редирект на страницу, можете накидать пример с компонентом?)

Артём
А как это будет выглядеть с APp.vue , где мы делае...

я так понял, просто должна быть функция в App.vue которая работает с роутером, и экспортируется в этот файл с аксиосом?

Артём
А как это будет выглядеть с APp.vue , где мы делае...

someAxiosModule.addUnAuthorized(() => { router.redirect() store.logout() authService.logout() toaster.message('You were logout') })

Grigorii K. Shartsev
someAxiosModule.addUnAuthorized(() => { router.r...

ага, как раз начал догонять, спасибо

Grigorii K. Shartsev
someAxiosModule.addUnAuthorized(() => { router.r...

это же в хуке script будет, я прав? (ну хук created)

Grigorii K. Shartsev
В Composition нет хука created

знаю) , имеется виду в теле script () {} или script setup,

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

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

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Карта сайта