Réponses:
Comme vous l'avez dit, il n'y a pas de longueur maximale définie dans la RFC7519 ( https://tools.ietf.org/html/rfc7519 ) ou dans d'autres RFC liées à JWS ou JWE.
Si vous utilisez le format JSON Serialized ou JSON Flattened Serialized, il n'y a pas de limitation et il n'y a aucune raison de définir une limitation.
Mais si vous utilisez le format JSON Compact Serialized (format le plus courant), vous devez garder à l'esprit qu'il doit être le plus court possible car il est principalement utilisé dans un contexte Web. Un JWT 4kb est quelque chose que vous devez éviter.
Veillez à ne stocker que les déclarations et informations d'en-tête utiles.
J'ai également essayé de trouver ceci.
Je dirais - essayez de vous assurer qu'il est inférieur à 7 ko .
Alors que JWT ne définit aucune limite supérieure dans la spécification ( http://www.rfc-editor.org/rfc/rfc7519.txt ), nous avons des 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.
Comme cela inclut tous les en- têtes de requête <8 ko, 7 ko donnant une quantité raisonnable de place pour les autres en-têtes. Le plus grand risque à cette limite serait les cookies (envoyés dans les en-têtes et peuvent devenir volumineux).
Comme il est crypté et base64, il y a au moins 33% de gaspillage de la chaîne json d'origine, alors vérifiez la longueur du jeton crypté final.
Un dernier point - les proxys et autres appareils réseau peuvent appliquer une limite abitraire en cours de route ...
Lors de l'utilisation d' heroku, l'en-tête sera limité à 8k. En fonction de la quantité de données que vous utilisez sur jwt2, elles seront atteintes. La requête, lorsqu'elle est surdimensionnée, ne touchera pas votre instance de nœud, le routeur heroku la déposera avant votre couche API.
Lors du traitement d'une requête entrante, un routeur configure un tampon de réception de 8 Ko et commence à lire la ligne de requête HTTP et les en-têtes de requête. Chacun de ceux-ci peut avoir une longueur maximale de 8 Ko, mais ensemble peut dépasser 8 Ko au total. Les demandes contenant une ligne de demande ou une ligne d'en-tête de plus de 8 Ko seront abandonnées par le routeur sans être distribuées.
Voir: Limites d'Heroku