Мне нужно знать максимальную длину
Веб-токен JSON (JWT)
В спецификациях информации об этом нет. Может быть, ограничений по длине нет?
Как вы сказали, максимальная длина не определена в RFC7519 ( https://tools.ietf.org/html/rfc7519 ) или других RFC, связанных с JWS или JWE.
Если вы используете формат JSON Serialized или JSON Flattened Serialized, ограничений нет и нет причин для определения ограничения.
Но если вы используете формат JSON Compact Serialized (наиболее распространенный формат), вы должны иметь в виду, что он должен быть как можно короче, поскольку он в основном используется в веб-контексте. Вам следует избегать JWT размером 4 Кбайт.
Позаботьтесь о хранении только полезных утверждений и информации заголовка.
Я тоже пытался это найти.
Я бы сказал - попробуйте и убедитесь, что он меньше 7кб .
Хотя JWT не определяет верхнего предела в спецификации ( http://www.rfc-editor.org/rfc/rfc7519.txt ), у нас есть некоторые рабочие ограничения. Поскольку JWT включен в заголовок HTTP, у нас есть верхний предел ( SO: Максимум значений заголовка http ) в 8 КБ на большинстве текущих серверов.
Поскольку это включает все заголовки запросов <8 КБ, 7 КБ дают разумное количество места для других заголовков. Самый большой риск для этого лимита - файлы cookie (отправляются в заголовках и могут стать большими).
Поскольку он зашифрован и использует base64ed, исходная строка json теряется не менее 33%, поэтому обязательно проверьте длину окончательного зашифрованного токена.
И последнее: прокси и другие сетевые устройства могут применять произвольное ограничение по пути ...
При использовании heroku заголовок будет ограничен до 8k. В зависимости от того, сколько данных вы используете на jwt2, он будет достигнут. Запрос, если он слишком велик, не коснется вашего экземпляра узла, маршрутизатор heroku сбросит его до уровня вашего API.
См .: Пределы Heroku
источник