Подтвердить что ты не робот

Каков максимальный размер токена JWT?

Мне нужно знать максимальную длину

JSON Web Token (JWT)

В спецификациях нет информации об этом. Может быть, ограничений нет?

4b9b3361

Ответ 1

Как вы сказали, максимальная длина не определена в RFC7519 (https://tools.ietf.org/html/rfc7519) или других RFC, связанных с JWS или JWE.

Если вы используете формат JSON Serialized или формат JSON Flattened Serialized, ограничений нет и нет оснований для определения ограничения.

Но если вы используете формат JSON Compact Serialized (наиболее распространенный формат), вы должны иметь в виду, что он должен быть как можно короче, потому что он в основном используется в веб-контексте. 4kb JWT - это то, чего вам следует избегать.

Соблюдайте осторожность при хранении только полезных заявлений и информации заголовков.

Ответ 2

Я тоже пытался найти это.

Я бы сказал - попробуйте и убедитесь, что он ниже 7kb.

Пока JWT не определяет верхний предел в спецификации (http://www.rfc-editor.org/rfc/rfc7519.txt), у нас есть некоторые операционные ограничения. Поскольку JWT включен в HTTP-заголовок, у нас есть верхний предел (SO: Максимум на значениях заголовка http) 8K на большинстве текущих серверов.

Так как это включает все заголовки запросов < 8kb, с 7kb, предоставляя разумное количество места для других заголовков. Наибольшим риском для этого лимита были бы файлы cookie (отправленные в заголовках и могут быть большими). ​​

Как он зашифрован и base64ed там по меньшей мере 33% потерь исходной строки json, так что проверьте длину финального зашифрованного токена.

Один последний момент - прокси-серверы и другие сетевые устройства могут применять к ним ненадлежащий предел...

Ответ 3

При использовании heroku заголовок будет ограничен 8k. В зависимости от того, сколько данных вы используете на jwt2, это будет доступно. Запрос при увеличении размера не будет касаться вашего экземпляра node, маршрутизатор heroku удалит его до уровня API.

При обработке входящего запроса маршрутизатор устанавливает получение 8 КБ буфера и начинает чтение строки запроса HTTP и заголовков запросов. Каждое из них может иметь длину не более 8 КБ, но вместе может быть больше чем 8 КБ. Запросы, содержащие строку запроса или строку заголовка до 8 КБ будет отключен маршрутизатором без посланным.

Смотрите: Ограничения Heroku