¿Cuál es el tamaño máximo del token JWT?


Necesito saber la longitud máxima de

JSON Web Token (JWT)

En las especificaciones no hay información al respecto. Podría ser que, no hay limitaciones en la longitud ?

 57
jwt
Author: Bogdan, 2014-09-25

3 answers

Como usted dijo, no hay longitud máxima definida en el RFC7519 ( https://tools.ietf.org/html/rfc7519 ) u otras RFC relacionadas con JWS o JWE.

Si utiliza el formato serializado JSON o el formato Serializado JSON aplanado, no hay limitación y no hay razón para definir una limitación.

Pero si se utiliza el formato serializado compacto JSON (formato más común), hay que tener en cuenta que debe ser lo más corto posible porque se utiliza principalmente en una web contexto. Un JWT de 4kb es algo que debes evitar.

Tenga cuidado de almacenar solo notificaciones útiles e información de encabezado.

 31
Author: Florent Morselli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-08 08:28:47

También he estado tratando de encontrar esto.

Yo diría - tratar de asegurarse de que es por debajo de 7kb.

Mientras que JWT no define ningún límite superior en la especificación ( http://www.rfc-editor.org/rfc/rfc7519.txt ) tenemos algunos límites operativos. Como un JWT está incluido en un encabezado HTTP, tenemos un límite superior ( ASÍ que: Máximo en los valores de encabezado http) de 8K en la mayoría de los servidores actuales.

Ya que esto incluye todos los encabezados de solicitud

Como está encriptado y base64ed, hay al menos un 33% de desperdicio de la cadena json original, así que verifique la longitud del token encriptado final.

Un punto final: los proxies y otros dispositivos de red pueden aplicar un límite abitrario en el camino...

 47
Author: penderi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:47:20

Cuando se usa heroku el encabezado estará limitado a 8k. Dependiendo de la cantidad de datos que esté utilizando en jwt2, se alcanzará. La solicitud, cuando es de gran tamaño, no tocará su instancia de nodo, el enrutador heroku la soltará antes de su capa de API..

Al procesar una solicitud entrante, un enrutador configura una recepción de 8 KB buffer y comienza a leer la línea de solicitud HTTP y los encabezados de solicitud. Cada uno de estos puede tener como máximo 8 KB de longitud, pero juntos pueden ser más que 8KB adentro total. Solicitudes que contienen una línea de solicitud o una línea de encabezado más largo que 8KB será caído por el router sin ser despachar.

Ver: Límites de Heroku

 0
Author: Tiago Gouvêa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-19 18:34:36