Muszę znać maksymalną długość
Token sieciowy JSON (JWT)
W specyfikacjach nie ma o tym informacji. Czy to możliwe, że nie ma ograniczeń co do długości?
Jak powiedziałeś, w RFC7519 ( https://tools.ietf.org/html/rfc7519 ) ani w innych specyfikacjach RFC związanych z JWS lub JWE nie określono maksymalnej długości .
Jeśli używasz formatu JSON Serialized lub JSON Flattened Serialized, nie ma żadnych ograniczeń i nie ma powodu, aby je definiować.
Ale jeśli używasz formatu JSON Compact Serialized (najpopularniejszy format), musisz pamiętać, że powinien być jak najkrótszy, ponieważ jest używany głównie w kontekście internetowym. JWT 4kb to coś, czego należy unikać.
Uważaj, aby przechowywać tylko przydatne oświadczenia i informacje nagłówka.
Ja też próbowałem to znaleźć.
Powiedziałbym - spróbuj i upewnij się, że jest poniżej 7kb .
Chociaż JWT nie definiuje górnego limitu w specyfikacji ( http://www.rfc-editor.org/rfc/rfc7519.txt ), mamy pewne ograniczenia operacyjne. Ponieważ token JWT jest zawarty w nagłówku HTTP, na większości obecnych serwerów obowiązuje górny limit ( SO: maksymalna wartość nagłówka http ) wynoszący 8 KB.
Ponieważ obejmuje to wszystkie nagłówki żądań <8kb, przy czym 7kb daje rozsądną ilość miejsca na inne nagłówki. Największym zagrożeniem dla tego limitu byłyby pliki cookie (wysyłane w nagłówkach i mogą być duże).
Ponieważ jest zaszyfrowany i oparty na base64, co najmniej 33% marnotrawstwa oryginalnego ciągu JSON, więc sprawdź długość końcowego zaszyfrowanego tokenu.
I ostatnia uwaga - serwery proxy i inne urządzenia sieciowe mogą po drodze nakładać abitrary limit ...
Podczas korzystania z heroku nagłówek będzie ograniczony do 8k. W zależności od tego, ile danych używasz w jwt2, będzie to osiągalne. Żądanie, gdy jest zbyt duże, nie dotknie instancji węzła, router heroku upuści ją przed warstwą API.
Zobacz: Limity Heroku
źródło