Dekoder JWT: odczyt i weryfikacja JSON Web Token

Dekoder JWT pokazuje, co kryje się w JSON Web Token: nagłówek, payload i podpis, a także wystawcę, termin ważności i ważność wprost. Po wpisaniu klucza tajnego lub publicznego sprawdzi nawet podpis. Token nie opuszcza Twojej przeglądarki.

Źródło: §§ 2, 4.1 (Claims, NumericDate), IETF RFC 7519 – JSON Web Token (JWT). Stan na: .

Wklej token; „Bearer ” z przodu jest w porządku. Składa się z trzech części rozdzielonych kropkami.

Twój tekst zostaje w przeglądarce – nie jest wysyłany, zapisywany ani dodawany do paska adresu.

HS256/384/512: klucz tajny jako tekst. RS/PS/ES: klucz publiczny jako PEM („BEGIN PUBLIC KEY”) lub JWK. Klucz zostaje w przeglądarce.
Tylko dla HS256/384/512: klucz tajny jest dekodowany przed sprawdzeniem (typowe dla wygenerowanych kluczy). W przeciwnym razie liczy się tekst tak, jak go wpisano.
Moje narzędziaWpisane dane są zapisywane tylko w tej przeglądarce.

Wynik

Status
Poprawny format JWT – algorytm HS256
Podpis
Poprawny ✓ – podpis pasuje do wpisanego klucza.
Nagłówek
{ "alg": "HS256", "typ": "JWT" }
Payload
{ "sub": "1234567890", "name": "Anna Kowalska", "iss": "https://beispiel.example", "iat": 1516239022, "exp": 4102444800 }
Daty (UTC)
Wystawiony (iat): 2018-01-18T01:30:22Z Wygasa (exp): 2100-01-01T00:00:00Z – za 73 lata
Znane claimy
Wystawca (iss): https://beispiel.example Podmiot (sub): 1234567890

Jak to obliczamy

JSON Web Token (JWT) przenosi oświadczenia (claimy) między dwiema stronami – zwykle po zalogowaniu, jako dowód, że „ten użytkownik jest zalogowany”. Składa się z trzech części rozdzielonych kropkami: nagłówek.payload.podpis (RFC 7519, RFC 7515).

Jak zdekodować JWT

  1. Wklej token do górnego pola (z „Bearer” lub bez).
  2. Nagłówek i payload pojawią się od razu jako czytelny JSON, a pod nimi termin ważności i wystawca.
  3. Opcjonalnie: wpisz klucz w polu „Klucz tajny lub publiczny”, a narzędzie zweryfikuje podpis.

Co zawiera token

Ważne: odczyt to nie weryfikacja

Nagłówek i payload są tylko zakodowane w base64url, nie zaszyfrowane. Każdy, kto zobaczy token, może go odczytać – haseł i innych tajemnic w nim być nie powinno. Bez sprawdzenia podpisu treść niczego nie dowodzi, bo każdy może ją zmienić. Weryfikacja działa tu z kluczem tajnym HMAC (HS256/384/512) i kluczem publicznym (RS, PS, ES); token z alg: none nie jest podpisany.

Ochrona przed algorithm confusion

Znany atak podsuwa serwerowi token z alg: HS256 podpisany kluczem publicznym jako sekretem. Dlatego narzędzie odmawia weryfikacji, gdy jako sekret HS wpisano klucz publiczny lub prywatny (RFC 8725 radzi nigdy nie brać algorytmu wyłącznie z tokena).

Ograniczenia

Najczęściej zadawane pytania

Czym jest JWT?

JSON Web Token to zwarty, bezpieczny dla adresów URL ciąg z trzech części (nagłówek, payload, podpis). Przenosi claimy, np. ID użytkownika lub termin ważności, i często służy jako dowód dostępu po zalogowaniu.

Czy każdy może odczytać treść JWT?

Tak. Nagłówek i payload są tylko zakodowane w base64url, nie zaszyfrowane. Przed zmianą chroni wyłącznie podpis, nie przed odczytem. Nie umieszczaj więc w JWT tajemnic.

Jak zweryfikować podpis JWT?

W polu „Klucz tajny lub publiczny” wpisz klucz tajny dla HS256/384/512 albo klucz publiczny w PEM lub JWK dla RS256, PS256 lub ES256. Wynik pojawi się przy „Podpis”.

Czy bezpiecznie jest wklejać token do dekodera online?

Ten dekoder działa w całości w przeglądarce i niczego nie wysyła. Mimo to ważny token jest dowodem dostępu. Jeśli możesz, używaj tokenów testowych lub już wygasłych.

Co oznaczają exp, iat i nbf?

exp to chwila wygaśnięcia tokena, iat chwila wystawienia, a nbf chwila, od której token obowiązuje. Wszystkie trzy to sekundy od 1 stycznia 1970 UTC.

Dlaczego narzędzie pisze „nie sprawdzono”?

Bez klucza nie ma czym zweryfikować podpisu, więc treść jest tylko odczytana. Także nieobsługiwane algorytmy lub nieodpowiednie formaty kluczy pomijają sprawdzenie.

Źródła i podstawa prawna

Stan na: · Zasady redakcyjne

Podobne narzędzia