raatools/

JWT Dekoder

Wklej JWT, aby zdekodować nagłówek, ładunek i roszczenia.

Czym jest JWT?

JSON Web Token (JWT, wymawiane „dżot

JWT składa się z trzech zakodowanych w Base64URL części oddzielonych kropkami: nagłówka, ładunku i podpisu. Nagłówek określa algorytm podpisywania (np. HS256, RS256). Ładunek zawiera roszczenia — pary klucz-wartość z informacjami takimi jak identyfikator użytkownika, uprawnienia i czas wygaśnięcia. Podpis zapewnia, że token nie został zmodyfikowany.

Typowe roszczenia JWT

  • sub: sub (Temat): Identyfikuje podmiot — zazwyczaj identyfikator użytkownika lub adres e-mail.
  • iat: iat (Wystawiony o): Znacznik czasu Unix wskazujący, kiedy token został utworzony.
  • exp: exp (Wygaśnięcie): Znacznik czasu Unix, po którym token nie jest już ważny.
  • iss: iss (Wystawca): Identyfikuje, kto wystawił token (np. Twój serwer uwierzytelniający).
  • aud: aud (Odbiorca): Identyfikuje zamierzonego odbiorcę tokenu (np. Twoje API).

Jak korzystać z tego narzędzia

Wklej JWT do pola wejściowego. Narzędzie natychmiast dekoduje nagłówek i ładunek, wyświetlając roszczenia w czytelnym formacie. Czasy wygaśnięcia są konwertowane na daty czytelne dla człowieka. Narzędzie weryfikuje również strukturę tokenu i informuje, czy format jest nieprawidłowy.

Czy wklejenie mojego JWT tutaj jest bezpieczne?

Tak. To narzędzie dekoduje JWT całkowicie w przeglądarce za pomocą JavaScript. Żadne dane nie są wysyłane na żaden serwer. Jednak JWT powinny być zawsze traktowane jako poufne dane uwierzytelniające — nigdy nie udostępniaj tokenów produkcyjnych publicznie, nie wklejaj ich w wiadomościach czatu ani nie zatwierdzaj ich do systemu kontroli wersji.

Jak działa uwierzytelnianie JWT

Gdy użytkownik się loguje, serwer tworzy JWT zawierający tożsamość i uprawnienia użytkownika, podpisuje go tajnym kluczem i zwraca go klientowi. Klient dołącza ten token do nagłówka Authorization kolejnych żądań API. Serwer weryfikuje podpis, aby upewnić się, że token jest autentyczny i nie został zmodyfikowany.

To podejście jest bezstanowe — serwer nie musi przechowywać danych sesji w bazie danych. Wszystkie niezbędne informacje są zawarte w samym tokenie. To sprawia, że JWT są idealne dla systemów rozproszonych, architektur mikroserwisów i aplikacji bezserwerowych, w których wspólny stan jest trudny do zarządzania.

Typowe błędy JWT

Przechowywanie poufnych danych (haseł, numerów kart kredytowych) w ładunku JWT to krytyczny błąd. Ładunek jest jedynie zakodowany Base64, nie szyfrowany — każdy z tokenem może go zdekodować i odczytać. Przechowuj w JWT tylko identyfikatory i niepoufne roszczenia.

Używanie nadmiernie długich czasów wygaśnięcia to kolejny częsty błąd. Token ważny przez 30 dni daje atakującemu 30 dni na korzystanie ze skradzionego tokenu. Utrzymuj krótkie czasy życia tokenów dostępu (5–15 minut) i używaj tokenów odświeżania dla długotrwałych sesji.

Często zadawane pytania

Jaka jest różnica między HS256 a RS256?

HS256 używa wspólnego symetrycznego sekretu — ten sam klucz podpisuje i weryfikuje token. RS256 używa asymetrycznej pary kluczy — klucz prywatny podpisuje, a klucz publiczny weryfikuje. RS256 jest preferowany dla systemów rozproszonych, ponieważ klucz weryfikacji może być udostępniany publicznie bez naruszania bezpieczeństwa.

Czy JWT może zostać unieważniony?

JWT są bezstanowe, więc nie mogą być bezpośrednio unieważniane. Typowe rozwiązania obejmują prowadzenie listy zablokowanych po stronie serwera unieważnionych identyfikatorów tokenów, używanie krótkich czasów wygaśnięcia lub rotację kluczy podpisywania. W przypadku potrzeby natychmiastowego unieważnienia rozważ użycie nieprzezroczystych tokenów z przechowywaniem sesji po stronie serwera.