Dekoder JWT
JSON Web Token to trzy segmenty Base64url: header.payload.signature. Wklej JWT, by odczytać algorytm (alg), issuer (iss), subject (sub) i expiration (exp) bez wysyłania tokenu na serwer. Ten dekoder nie weryfikuje podpisów — użyj secret aplikacji lub JWKS do tego.
Token JWT
Wynik
{
"header": {
"alg": "HS256",
"typ": "JWT"
},
"payload": {
"sub": "1234567890",
"name": "Ada",
"iat": 1516239022
}
}
Jak dekodować JWT
1. Wklej string JWT (format eyJ...).
2. Odczytaj zdekodowany header JSON (typ, alg).
3. Odczytaj claims payload (sub, exp, role).
4. Porównaj exp z aktualnym czasem — wygasłe tokeny failują auth API.
Przykłady inspekcji JWT
Debug 401 Unauthorized
Dekoduj access token — exp może być w przeszłości przez clock skew lub krótki TTL.
Inspekcja OAuth id_token
Zobacz claims email i name z identity provider.
Review fixtury testowej
Potwierdź, że testowy token HS256 ma claim role:admin przed testem integracyjnym.
Kiedy dekodować JWT
• Gdy debugujesz auth w dev z tokenami testowymi.
• Gdy uczysz struktury JWT i standardowych claims.
• Gdy weryfikujesz payload przed implementacją checków RBAC.
Limity bezpieczeństwa
• Nie wklejaj produkcyjnych tokenów z live uprawnieniami na niezaufane strony — to narzędzie jest lokalne, ale zachowaj ostrożność.
• Gdy potrzebujesz weryfikacji podpisu — użyj crypto po stronie serwera z secret/kluczem publicznym.
• Gdy token to encrypted JWE — inny format niż trzy części JWS.
Standardowe registered claims
iss (issuer), sub (subject), aud (audience), exp (expiration), nbf (not before), iat (issued at), jti (JWT ID). Custom claims jak roles czy tenant_id są specyficzne dla aplikacji.
Algorytmy podpisu
HS256 używa wspólnego secret; RS256 parę kluczy RSA. Klucze publiczne publikowane przez JWKS URL do weryfikacji.
Clock skew
API często dopuszcza 30–60 s luzu na exp/nbf. Jeśli valid w dekoderze, ale API odrzuca, sprawdź zegar serwera i strefę.
Nigdy nie ufaj samemu payload
Dekodowanie po stronie klienta tylko do podpowiedzi UI — decyzje autoryzacji muszą weryfikować podpis na serwerze przy każdym request.
Najczęstsze pytania
Jakie są trzy części JWT?
Header (algorytm i typ), payload (claims), signature (weryfikacja). Rozdzielone kropkami.
Czy dekodowanie waliduje token?
Nie — każdy może zdekodować payload; podpis dowodzi integralności i wydawcy.
Co to claim exp?
Unix timestamp sekund, gdy token wygasa. Porównaj z aktualnym czasem UTC.
Atak alg:none?
Serwery muszą odrzucać alg:none — dekoder może nadal pokazać header do audytu.
Wrażliwe dane w payload?
Payload JWT to Base64, nie szyfrowanie — nigdy nie umieszczaj haseł ani PII bez potrzeby.
Lokalne przetwarzanie?
Tak — token parsowany w przeglądarce.
Refresh vs access token?
Oba często są JWT — dekoduj każdy, by zobaczyć różne scope i lifetime.