Для того же пользователя чем отличается подпись JWT после того, как пользователь запрашивает новый токен? - PullRequest
0 голосов
/ 06 января 2019

Мое понимание того, как сервер проверяет пользователя, использующего JWT, заключается в том, что сервер хеширует часть полезной нагрузки JWT со своим собственным секретным ключом, а затем сравнивает результат с частью сигнатуры JWT. Если два совпадения, то запрос пользователя действителен.

Однако я не могу выяснить, как люди генерируют разные JWT, когда пользователь обновляет токен. Для меня, чтобы гарантировать, что уникальный JWT генерируется при обновлении токена, необходимо изменить полезную нагрузку, скажем, добавив дату истечения срока действия + идентификатор пользователя. Тем не менее, большинство ресурсов онлайн не упоминают процесс генерации нового уникального JWT, когда срок действия старого истек. Я что-то здесь упускаю? Разве люди не генерируют уникальный JWT, когда срок действия старого истек, и вместо этого просто продлевает срок службы JWT на стороне сервера?

1 Ответ

0 голосов
/ 06 января 2019

Мое понимание того, как сервер проверяет пользователя, использующего JWT, заключается в том, что сервер хеширует часть полезной нагрузки JWT со своим собственным секретным ключом, а затем сравнивает результат с частью сигнатуры JWT. Если два совпадения, то запрос пользователя действителен.

Да, это так.

Однако я не могу выяснить, как люди генерируют разные JWT, когда пользователь обновляет токен.

Подпись будет отличаться для разных полезных нагрузок, даже если изменение минимально. Обычно включаются заявки на дату, такие как exp и iss, которые делают токен всегда другим.

Разве люди не генерируют уникальный JWT по истечении срока действия старого, а просто продлевают срок службы JWT на стороне сервера?

нет, потому что это потребует ведения сеансов, и вы потеряете преимущества использования JWT. При обновлении выдается новый токен.

...