Каждый пример кода, описывающий использование JWT, говорит о полезной нагрузке, обычно это информация пользователя, такая как имя и роль.
Мне интересно, какой смысл кодировать эту информацию внутри JWT, когда нет дополнительной защиты и только внешний интерфейс заставляет загружать библиотеку специально для декодирования JWT.
Я спрашиваю, есть ли причина, чтобы делать эту кодировку вместо простой отправки пользовательских данных (или любой полезной нагрузки, которая вам нужна пройти) вместе с JWT в ответе.
В настоящее время я отправляю: (это ExpressJs код)
const jwt = jwtUtils.buildToken(user);
res.json({ jwt });
Где jwt
содержит полезную нагрузку с информация о пользователе.
Но что если я сделаю вместо этого:
const user = userModel.get(userId);
const jwt = jwtUtils.buildToken();
res.json({ jwt, user });
Таким образом, мне не нужно декодировать JWT для доступа к моим данным пользователя, я просто сохранил бы JWT, чтобы иметь возможность отправлять его при каждом последующем запросе после аутентификации и получать прямой доступ к данным пользователя.
Что мне не хватает?