Я читаю на JWT, есть так много учебников и так много подходов, это сбивает с толку.Почему я должен оставлять полезную нагрузку JNON Web Token незашифрованной?
У меня есть несколько вопросов, касающихся надлежащего использования JWTs:
1) Я продолжаю видеть несогласованные средства транспортировки JWTs и от сервера. For example, here: один транспортный метод для извлечения токена (через JSON-закодированный объект в модуле POST), другой метод для его отправки (через HTTP-заголовок). Почему такая несогласованность? Разумеется, разработчик должен выбирать методы, но не лучше ли это быть хорошей практикой, по крайней мере, быть последовательной и использовать либо только заголовок, либо только тело?
2) Полезная нагрузка JWT содержит информацию о состоянии, поскольку сервер не поддерживает ее. Очевидно, что размер полезной нагрузки должен быть как можно меньше, так как размер JWT добавляется к каждому запросу и ответу. Возможно, это только идентификатор пользователя и кэшированные разрешения. Когда клиенту нужна какая-либо информация, он может получать его через тело HTTP (как правило, JSON-encoded) и хранить его в локальном хранилище, по-видимому, нет необходимости обращаться к полезной нагрузке JWT только для чтения с той же целью. Итак, почему нужно хранить незашифрованную полезную нагрузку JWT? Зачем смешивать два способа получения данных приложения клиенту и использовать как полезную нагрузку JWT, так и нормальную структуру данных в ответ? Не следует ли лучше всего держать JWT в зашифрованном виде? В любом случае, он может обновляться только на стороне сервера.