Necesito saber la longitud máxima de
Token web JSON (JWT)
En especificaciones no hay información al respecto. ¿Podría ser que no hay limitaciones de longitud?
Como dijiste, no hay una longitud máxima definida en el RFC7519 ( https://tools.ietf.org/html/rfc7519 ) u otros RFC relacionados con JWS o JWE.
Si usa el formato JSON serializado o el formato JSON Flat Serialized, no hay ninguna limitación y no hay razón para definir una limitación.
Pero si usa el formato JSON Compact Serialized (formato más común), debe tener en cuenta que debe ser lo más corto posible porque se usa principalmente en un contexto web. Un JWT de 4kb es algo que debe evitar.
Tenga cuidado de almacenar solo reclamaciones útiles e información de encabezado.
También he intentado encontrar esto.
Yo diría: intente asegurarse de que esté por debajo de 7kb .
Si bien JWT no define ningún límite superior en la especificación ( http://www.rfc-editor.org/rfc/rfc7519.txt ), sí tenemos algunos límites operativos. Como un JWT está incluido en un encabezado HTTP, tenemos un límite superior ( SO: Máximo en valores de encabezado http ) de 8K en la mayoría de los servidores actuales.
Como esto incluye todos los encabezados de solicitud <8 kb, con 7 kb dando una cantidad razonable de espacio para otros encabezados. El mayor riesgo para ese límite serían las cookies (enviadas en encabezados y pueden aumentar de tamaño).
Como está cifrado y basado en 64, hay al menos un 33% de desperdicio de la cadena json original, así que verifique la longitud del token cifrado final.
Un último punto: los proxies y otros dispositivos de red pueden aplicar un límite arbitrario en el camino ...
Cuando use 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 dejará antes de su capa de API.
Ver: Límites de Heroku
fuente