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

Скажите пожалуйста, пишу с NestJS. Если у меня есть авторизационный

гуард, который зависит от сервиса какого нибудь роута (например auth), и этот гуард встраивается в контроллеры других роутов (например profile), правильно ли это? Фактически у меня все контроллеры начинают зависеть от одного контроллера. Но в то же время у меня более низкоуровневая логика авторизации (поиск по бд, сравнение ролей) находятся именно в сервисе auth, как можно это пофиксить?

14 ответов

26 просмотров
Alex- Автор вопроса

но не хочу каждый раз какую то логику выносить вверх

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

Или у тебя валидация токена и получение данных о юзере можно осуществить только через сервис авторизации?

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

то есть сделать middleware который будет получать данные из токена, обращаться к бд и на каждый роут писать отдельный гард? у меня просто трабл в том что я хочу низкоуровневую логику (создание jwt токена / доступ к бд / и т.п.) вынести в какую то shared папку, чтобы не прописывать это везде

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

смотри, я вот только начал nest js изучать, делал по гайду из доки, у них это сделано вот так https://docs.nestjs.com/security/authentication

что думаешь о роли юзера в токене?

звучит как говно :))

Можно к каждому твоему сервису подкрутить логику вытягивания claims из токена

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

задублировать?

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

или наоборот наверх вынести и тупо обращаться к ней

Да, чтобы не делать лишние обращения к сервису авторизации

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

не хочу переиспользования

Ммм?

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

не так выразился)

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта