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

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

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

18 ответов

22 просмотра

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

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,

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта