Quelle est la taille maximale du JWT token?

j'ai besoin de connaître la longueur maximale de

JSON Web Token (JWT)

dans specs il n'y a aucune information à ce sujet. Peut-être que la longueur n'est pas limitée ?

57
jwt
demandé sur Bogdan 2014-09-25 12:32:36

3 réponses

comme vous l'avez dit, il n'y a pas de longueur maximale définie dans le RFC7519 ( https://tools.ietf.org/html/rfc7519 ) ou d'autres RFC liés à JWS ou JWE.

si vous utilisez le format JSON avec publication en série ou le format JSON avec publication en série aplatie, il n'y a aucune limite et il n'y a aucune raison de définir une limite.

Mais si vous utilisez le JSON Compact format Sérialisé (format), vous devez garder à l'esprit qu'il doit être bref que possible, car il est principalement utilisé dans un contexte web. Une JWT de 4kb est quelque chose que vous devriez éviter.

prendre soin de ne stocker que les réclamations et informations d'en-tête utiles.

31
répondu Florent Morselli 2017-02-08 08:28:47

j'ai aussi essayé de trouver ceci.

je dirais d'essayer et de s'assurer qu'il ci-dessous 7kb .

alors que JWT ne définit aucune limite supérieure dans le spec ( http://www.rfc-editor.org/rfc/rfc7519.txt ) nous avons certaines limites opérationnelles. Comme un JWT est inclus dans un en-tête HTTP, Nous avons une limite supérieure ( SO: Maximum sur les valeurs d'en-tête http ) de 8K sur la majorité des serveurs actuels.

"151900920 ce qui" comprend tous en-têtes de Requête < 8 ko, avec 7kb donnant une quantité raisonnable de l'espace pour d'autres en-têtes. Le plus grand risque à cette limite serait les cookies (envoyés dans les en-têtes et peut obtenir de grandes).

comme il est crypté et base64ed il y a au moins 33% de gaspillage de la chaîne JSON originale, donc vérifiez la longueur du dernier jeton crypté.

un dernier point-les mandataires et autres appareils de réseau peuvent appliquer une abitrary limite le long de la voie...

47
répondu penderi 2017-05-23 11:47:20

en utilisant heroku l'en-tête sera limité à 8k. Selon la quantité de données que vous utilisez sur jwt2, ce sera reach. La requête, lorsqu'elle est trop grande, ne touchera pas votre instance de noeud, le routeur heroku la laissera tomber avant la couche API..

lors du traitement d'une requête entrante, un routeur met en place une réception de 8KO tampon et commence à lire la ligne de requête HTTP et les en-têtes de requête. Chacun d'eux peut être au plus 8KB longueur, mais peut être plus que 8KB au total. Requêtes contenant une ligne de requête ou une ligne d'en-tête plus long que 8KB sera abandonné par le routeur sans être expédier.

Voir: Heroku Limites

0
répondu Tiago Gouvêa 2017-12-19 18:34:36