В веб-токенах JSON полезная нагрузка представляет собой набор полей, которые вы хотите включить в генерируемый токен; Вещи, которые понадобятся вашему API, скажем, для получения правильных данных для конкретного пользователя.
Это просто простой объект JSON, который обычно используется для включения идентификационных данных пользователя, таких как идентификатор пользователя, идентификатор учетной записи или адрес электронной почты. Однако он также может содержать любые произвольные данные, которые могут вам понадобиться, такие как полное имя пользователя, языковые настройки и т. Д.
Пример полезной нагрузки может выглядеть следующим образом, если предположить, что это те поля, от которых зависит ваш API для получения сведений о пользователе / учетной записи, к которой принадлежит токен. Обратите внимание, что это будет считаться довольно большой полезной нагрузкой; Большинство полезных нагрузок имеют только одно поле идентификатора пользователя, так как обычно это единственная конечная точка, которая должна правильно идентифицировать пользователя.
{
user_id: 303,
account_id: 909,
email: 'joe@example.com',
full_name: 'Joe Blow',
default_language: 'en_US'
}
ПРЕДУПРЕЖДЕНИЕ: Полезная нагрузка НЕ зашифрована, поэтому убедитесь, что вы не храните в ней такие вещи, как пароли, секретные ключи, номера кредитных карт, остатки на банковских счетах и т. Д. Только идентификаторы, такие как идентификаторы, которые вы видите в URL или открытых ключах, должны быть сохранены.
Кроме того, полезная нагрузка влияет на общую длину токена (чем больше данных, тем длиннее токены), поэтому вам нужно включать только самые важные фрагменты данных. В противном случае вы будете отправлять очень большой токен при каждом запросе, который потребляет пропускную способность и, теоретически, занимает больше ресурсов сервера для декодирования.
Наконец, JWT не имеют состояния, то есть они не сеансы. Поэтому не включайте какие-либо данные, которые часто изменяются, такие как результаты игр, последний вход и т. Д.