гуард, который зависит от сервиса какого нибудь роута (например auth), и этот гуард встраивается в контроллеры других роутов (например profile), правильно ли это? Фактически у меня все контроллеры начинают зависеть от одного контроллера. Но в то же время у меня более низкоуровневая логика авторизации (поиск по бд, сравнение ролей) находятся именно в сервисе auth, как можно это пофиксить?
но не хочу каждый раз какую то логику выносить вверх
А зачем тебе каждый раз дергать аут ? Ты напиши отдельный слой, который из токена будет получать юзера, и пусть каждый сервис через данные об юзере определят права и обязанности юзера
Или у тебя валидация токена и получение данных о юзере можно осуществить только через сервис авторизации?
то есть сделать middleware который будет получать данные из токена, обращаться к бд и на каждый роут писать отдельный гард? у меня просто трабл в том что я хочу низкоуровневую логику (создание jwt токена / доступ к бд / и т.п.) вынести в какую то shared папку, чтобы не прописывать это везде
смотри, я вот только начал nest js изучать, делал по гайду из доки, у них это сделано вот так https://docs.nestjs.com/security/authentication
что думаешь о роли юзера в токене?
звучит как говно :))
Можно к каждому твоему сервису подкрутить логику вытягивания claims из токена
задублировать?
или наоборот наверх вынести и тупо обращаться к ней
Да, чтобы не делать лишние обращения к сервису авторизации
не хочу переиспользования
Ммм?
не так выразился)
Обсуждают сегодня