Как указано в jwt.io «Полезная нагрузка содержит любую произвольную информацию в виде претензий, которые мы, как разработчики, находят полезными для наших приложений». Поэтому я думаю, что было бы удобно разместить там username
, email
и так далее. В этом случае мне не нужно получать эту информацию из базы данных или файловой системы во время процесса аутентификации. Он рекламируется как преимущество, если приложение распространяется на многих серверах.Устаревшая информация в полезной нагрузке jwt token
Но я вижу здесь одно раздражающее препятствие. Что делать, если полезная нагрузка была изменена в результате изменения информации учетной записи пользователя? Все старые выпущенные токены остаются действительными, поскольку подпись все еще действительна. Поэтому я получаю неправильную информацию учетной записи пользователя из старой полезной нагрузки токена.
Я пропустил что-то в идее за токенами jwt?
imho 'exp' претензии по соображениям безопасности только. Это предотвращает бесконечное использование украденного токена доступа. Пользователь может в любой момент изменить свою учетную информацию. – user3414982
это может измениться в любой момент, но вопрос в том, действительно ли вам нужно иметь дело с ним в реальном времени: если нет, то установите окно exp на то, с чем вы можете иметь дело, если да, тогда не включайте информацию в JWT, а сделайте выноска, чтобы получить его «как раз вовремя» –
Я не совсем понимаю, что такое окно exp? – user3414982