Dekoder JWT

Zobacz, co znajduje się wewnątrz JSON Web Token.

Wklej token, aby go zdekodować.
Nagłówek
Payload
Podpis

To narzędzie dekoduje tokeny, ale nigdy nie weryfikuje podpisów. Twój token zostaje w tej karcie przeglądarki.

Działa w przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.

Jak zdekodować JWT

  1. Wklej token, z przedrostkiem Bearer albo bez niego.
  2. Odczytaj nagłówek i payload, pokazane jako sformatowany JSON.
  3. Sprawdź tabelę claims, aby zobaczyć wystawcę, odbiorcę i czas wygaśnięcia.

Trzy części JWT

CzęśćKodowanieZawiera
NagłówekJSON w base64urlAlgorytm podpisujący (alg) i typ tokenu (typ)
PayloadJSON w base64urlClaims, czyli właściwe dane tokenu
PodpisBajty w base64urlDowód, że nagłówek i payload nie zostały zmienione

Najczęstsze algorytmy podpisujące

Wartość algTypUwaga
HS256Symetryczny, wspólny sekretCzęsty w pojedynczej aplikacji, która sama wystawia i sprawdza swoje tokeny
RS256Asymetryczny, RSACzęsty, gdy token musi zweryfikować inna strona, na przykład w OAuth
ES256Asymetryczny, krzywe eliptyczneKrótsze podpisy niż RSA przy tym samym poziomie bezpieczeństwa
noneBrak podpisuWeryfikator zawsze powinien odrzucić ten algorytm

Standardowe pola claims według RFC 7519

  • exp, nbf i iat to wartości NumericDate: pełne sekundy od epoki Unixa, nigdy milisekundy.
  • aud może być pojedynczym ciągiem znaków albo tablicą ciągów, gdy token jest przeznaczony dla więcej niż jednego odbiorcy.
  • jti ma być unikalne dla każdego tokenu, co umożliwia zablokowanie jednego konkretnego tokenu.
  • Żadne ze standardowych pól claims nie jest wymagane. Token może zawierać wyłącznie własne pola zdefiniowane przez aplikację.

Dekoder JWT: najczęstsze pytania

Jakie są trzy części JWT?

Nagłówek, payload i podpis, każdy zakodowany w base64url i połączony kropkami. Nagłówek podaje algorytm podpisujący, payload zawiera claims, a podpis pozwala serwerowi sprawdzić, kto wystawił token.

Czy to narzędzie weryfikuje podpis?

Nie. Dekoduje nagłówek i payload i nigdy nie sprawdza podpisu. Weryfikuj tokeny na serwerze za pomocą klucza prywatnego albo publicznego, zanim im zaufasz. Wklejony token nigdy nie opuszcza przeglądarki.

Czy payload JWT jest zaszyfrowany?

Nie w zwykłym podpisanym JWT. Jest tylko zakodowany, więc każdy, kto ma token, może go odczytać, dlatego hasła i prywatne dane nigdy nie powinny się w nim znaleźć. Zaszyfrowane tokeny (JWE) mają pięć części i wymagają klucza.

Co oznaczają exp, iat i nbf?

To czasy w sekundach od 1 stycznia 1970 (UTC). exp to moment wygaśnięcia tokenu, iat to moment jego wystawienia, a nbf to czas, przed którym token nie może zostać zaakceptowany.

Dlaczego mój token pokazuje się jako wygasły?

Jego czas exp jest wcześniejszy niż zegar twojego urządzenia. Tokeny dostępowe często są ważne tylko 5 do 60 minut, więc poproś o nowy i sprawdź, czy zegar komputera jest ustawiony poprawnie.

Co definiuje RFC 7519?

Definiuje sam format JWT: trzy części base64url połączone kropkami oraz znaczenie standardowych pól claims, takich jak iss, sub, exp i aud. Nie wymaga konkretnego algorytmu podpisującego.

Czy JWT można unieważnić przed wygaśnięciem?

Nie za pomocą samego tokenu, bo to tylko podpisane dane. Wcześniejsze unieważnienie wymaga wsparcia po stronie serwera, na przykład czarnej listy opartej na polu jti, albo krótkiego czasu ważności połączonego z osobnym tokenem odświeżającym.

Dlaczego exp i iat pokazują się jako duże liczby zamiast dat?

Są zapisane w tokenie jako wartości NumericDate, czyli pełne sekundy od epoki Unixa (1 stycznia 1970 UTC). Ta strona pokazuje surową liczbę obok czytelnej daty dla wygody.

Podobne narzędzia