@Mcrx

Как защитить отдельные api роуты используя jwt?

Разбираюсь с express, читаю вот эту статью,
вот что он пишет
At this point, we have 3 routes defined on our API routes (/api/authenticate, /api, and /api/users). Let's create route middleware to protect the last 2 routes. We won't want to protect the /api/authenticate route so what we'll do is place our middleware beneath that route. Order is important here.
я конечно пока не особо разбираюсь в этом, но как по мне, это жуть, ложить роуты которые не хочешь протектить над миддлвером, есть ли какой-то адекватный способ сделать защиту роутов? не используя паспорт? а то гугл только это и выдает
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 1
alexiusp
@alexiusp
senior frontend developer
можно поставить авторизацию первой, но вместо отправки ошибки авторизации сразу из мидлвари, это сделано в приведённом примере, делать обработку ошибок в каждом из защищаемых роутов.
т.е. мидлварь только проверяет наличие и правильность токена и дописывает к запросу параметр user (например), а роут смотрит, если ему требуется авторизация а поле user пусто - возвращает ошибку, а если авторизация не нужна, то и поле это не проверяется.
я такой подход видел как раз в каком-то туториале по паспорту и монгодб.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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