Debugger JWT dekoduje i analizuje tokeny JSON Web Token — parsuje nagłówek, ładunek (payload) oraz sygnaturę, wyświetla oświadczenia (claims) i flaguje status ważności. Idealny do debugowania problemów z uwierzytelnianiem, inspekcji tokenów OAuth/OIDC i weryfikacji zawartości JWT bez konieczności uruchamiania osobnego dekodera czy korzystania z jwt.io.
JWT (JSON Web Token) to dominujący format tokenów uwierzytelniających we współczesnych API — OAuth, OIDC, tokeny sesji oraz niestandardowe uwierzytelnianie API. JWT wygląda jednak jak bełkot: trzy ciągi zakodowane w Base64URL, połączone kropkami. JWT Debugger rozbija ten ciąg na trzy części — nagłówek, ładunek (payload) i podpis — dekoduje każdą z nich i wyświetla zawartość JSON z podświetlaniem składni.
Ładunek jest analizowany pod kątem znanych roszczeń (claims): iss (wystawca), sub (podmiot), exp (data wygaśnięcia), iat (data wydania), nbf (nie przed), aud (odbiorca), jti (identyfikator tokenu). Data wygaśnięcia jest konwertowana ze znacznika czasu Unix na czytelną dla człowieka formę i oznaczana jako ważna, wygasła lub jeszcze nieważna. Narzędzie NIE weryfikuje podpisu — wymagałoby to klucza tajnego i wykracza poza zakres narzędzia działającego po stronie klienta — ale pokazuje dokładnie, co zawiera token, dzięki czemu możesz szybko debugować problemy z uwierzytelnianiem.
Pole algorytmu w nagłówku (alg) jest wyraźnie wyróżnione, wraz z ostrzeżeniem, jeśli token używa algorytmu „none” — dobrze znanej podatności JWT, w której weryfikacja podpisu może zostać całkowicie pominięta, jeśli serwer nie odrzuca niepodpisanych tokenów. Zarówno algorytmy oparte na HMAC (HS256, HS384, HS512), jak i te oparte na RSA/ECDSA (RS256, ES256) są rozpoznawane i etykietowane, dzięki czemu od razu wiesz, czy API korzysta ze wspólnego sekretu, czy z kluczy publicznych. W pełni wyświetlane są też niestandardowe roszczenia, ponieważ większość rzeczywistych tokenów niesie dane specyficzne dla aplikacji, takie jak role czy identyfikatory najemców (tenant ID).
Dzieli JWT na kropkach i dekoduje każdy segment Base64URL: nagłówek, ładunek i sygnaturę. Każdy z nich jest wyświetlany osobno z wyróżnianiem składni.
Wyświetla algorytm (HS256, RS256, ES256) i typ tokena. Szybko sprawdź, jakiego schematu podpisywania używa dana usługa.
Parsuje ładunek JSON i renderuje go z kolorowymi kluczami, ciągami znaków, liczbami i wartościami logicznymi. Wszystkie oświadczenia są widoczne na pierwszy rzut oka.
Sprawdza znaczniki czasu exp (wygaśnięcie), iat (wydano o) i nbf (nie wcześniej niż). Flaguje, czy token jest ważny, wygasły czy jeszcze nieaktywny — podając czasy w czytelnej formie.
Rozpoznaje zarejestrowane oświadczenia (iss, sub, aud, exp, iat, nbf, jti) i dostarcza krótkie objaśnienia ich znaczenia.
Surowy token jest wyświetlany z każdym segmentem w innym kolorze, co pozwala wizualnie odróżnić nagłówek, ładunek i sygnaturę.
Gdy API zwraca 401 Unauthorized, wklej token, aby sprawdzić, czy wygasł, jest źle sformułowany lub wydany przez niewłaściwego wydawcę.
Dekoduj tokeny dostępu (access) i identyfikacji (ID) z przepływów OAuth/OIDC, aby zobaczyć przyznane zakresy (scopes), tożsamość użytkownika i czas wygaśnięcia.
Upewnij się, że wymagane oświadczenia (role, uprawnienia, ID najemcy) są obecne w tokenie przed założeniem, że backend je zaakceptuje.
Gdy token jest generowany przez usługę backendową, zdekoduj go, aby zweryfikować, czy ładunek zgadza się z zamierzeniami usługi.
Podczas przeglądu bezpieczeństwa dekoduj tokeny przechowywane w localStorage lub ciasteczkach, aby ocenić, jakie wrażliwe dane są eksponowane po stronie klienta.
Kliknij ikonę JWT w panelu DevSuite Pro. Otworzy się panel z polem wejściowym dla tokena i trzema oknami zdekodowanych danych.
Wklej dowolny JWT — z odpowiedzi API, nagłówka Authorization, ciasteczka lub localStorage. Prefiks „Bearer ” jest opcjonalny; oba formaty działają.
Okno nagłówka (Header) pokazuje algorytm i typ. Potwierdź, czy używa schematu oczekiwanego przez Twój backend (często HS256 lub RS256).
Okno ładunku (Payload) pokazuje wszystkie oświadczenia z wyróżnioną składnią. Standardowe pola (iss, sub, exp) są oznaczone zgodnie z ich przeznaczeniem.
Plakietka statusu pokazuje: Ważny, Wygasły lub Jeszcze nieważny. Jeśli wygasł, to prawdopodobnie on jest przyczyną błędu autoryzacji.
Zainstaluj DevSuite Pro za darmo i odblokuj ponad 64 narzędzi programistycznych dla swojej przeglądarki.