Как организовать работу с токеном в NodeJS Express?
Как правильно организовать работу и проверку токена?
У меня в апи есть несколько роутов, которые должны быть защищены и доступны только определенным пользователям.
Я правильно понимаю, что в токен я должен записать id юзера и сохранить его в бд у пользователя и отдать на фронт. И когда я с фронта буду посылать запрос, я в заголовок запроса положу токен.
На бекенде, я:
1. Принимаю запрос
2. В middleware , расшифровываю токен
3. Там же получаю id юзера
4. Нахожу этого юзера
5. Если все ок - next(); и дальше отдаю какие-то данные
6. Если нет токена или пользователя, то отправляю сообщение об ошибке
Так ли строится система работы с токенами? Нужны ли еще какие-то шаги или наоборот - некоторые здесь лишние? Нашел много инфы, как правильно регистрироваться и логиниться, а вот про работу с закрытыми роутами и проверку токенов мало информации.
А не проще ли вписать "определённым" пользователям какое-нибудь поле в модель со значением true - и проверять его на входе в обработчик: если true - заходи, если нет - page not found
Abcdefgk, под определенным пользователями я имел ввиду всех зарегистрированных пользователей. Тут даже не это главное, я хочу понять как правильно токены использовать