DARMOWE NARZĘDZIE

Debuger tokenów JWT (JSON Web Token):

Czytelny podgląd claimów i metadanych, status czasu, metryki oraz weryfikacja podpisu. Idealne do diagnozy 401/403. Profesjonalne narzędzie online, które działa w Twojej przeglądarce. Szybko, bezpiecznie i bez instalowania zbędnego oprogramowania.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

Debuger Tokenów JWT

Dekoduj, weryfikuj i analizuj strukturę JSON Web Token w czasie rzeczywistym.

1

Wprowadź Token

🔍

Oczekiwanie na dane

Wprowadź token po lewej stronie, aby zobaczyć jego strukturę i metadane.

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Debuger tokenów JWT (JSON Web Token) — dekoduj, sprawdzaj i łap błędy zanim zrobi to produkcja

Masz token JWT z aplikacji, logów albo nagłówka Authorization i chcesz w 10 sekund zobaczyć, co w środku naprawdę siedzi? Ten debuger rozkłada JWT na czynniki pierwsze: header, payload i sygnaturę, pokazuje daty (exp/iat/nbf), ocenia status czasowy i — jeśli chcesz — weryfikuje podpis dla HSxxx lub RSxxx.

darmowe online bez rejestracji szybki podgląd payload weryfikacja sygnatury audyt bezpieczeństwa

JWT to wygodny standard, ale też klasyczny generator „cichych problemów”: token niby wygląda poprawnie, a logowanie nie działa, API krzyczy 401, uprawnienia się rozjeżdżają albo data wygaśnięcia jest ustawiona w kosmos. Debuger tokenów JWT jest od tego, żebyś nie zgadywał. Wklejasz token, klikasz „Dekoduj” i od razu widzisz strukturę, metadane i potencjalne miny.

Co dostajesz od razu po dekodowaniu

Narzędzie pokazuje rozkodowany header i payload w czytelnym JSON-ie, wyciąga kluczowe pola (alg, typ, kid) i interpretuje znaczniki czasu: exp (kiedy wygasa), iat (kiedy wydany), nbf (od kiedy ma być ważny).

Dodatkowo dostajesz status czasowy (OK / wygasł / jeszcze nieaktywny), a także proste metryki: rozmiar całości oraz długości poszczególnych części. To ułatwia szybkie porównania między tokenami i wyłapywanie „dziwnie” napompowanych payloadów.

Weryfikacja podpisu, gdy potrzebujesz pewności

Dekodowanie JWT nie oznacza, że token jest zaufany. Każdy może wkleić dowolny JSON w payload i zakodować go Base64URL. Dlatego debuger ma opcję weryfikacji sygnatury: dla HMAC (HS256/384/512) podajesz secret, a dla RSA (RS256/384/512) — klucz publiczny.

Dzięki temu szybko sprawdzisz, czy problem leży w błędnym sekrecie/kluczu, pomylonym algorytmie, błędzie w generowaniu podpisu albo podmianie tokena po drodze.

Jak użyć debugera JWT krok po kroku (bez filozofii)

Najczęściej to wygląda tak: dostajesz token w nagłówku, w ciasteczku albo w logach i chcesz „zobaczyć prawdę”. Zrób to w tej kolejności — działa zarówno dla tokenów od Twojego backendu, jak i tych z zewnętrznych providerów.

  1. Wklej token JWT do pola (musi mieć 3 części oddzielone kropkami).
  2. Kliknij „Dekoduj Token” i przejrzyj header + payload w JSON.
  3. Sprawdź status czasu: czy token nie wygasł i czy nbf nie blokuje go jeszcze „przed startem”.
  4. Jeśli to problem z zaufaniem tokena: zaznacz „Weryfikuj sygnaturę” i podaj secret (HS) albo klucz publiczny (RS).
  5. Rzuć okiem na audyt bezpieczeństwa — czasem narzędzie od razu podpowiada, co jest podejrzane.
Wskazówka praktyczna: jeśli token jest „czasowo poprawny”, a aplikacja nadal go odrzuca, najczęściej winne są audience (aud), issuer (iss), złe mapowanie uprawnień/claimów, albo podpis (secret/klucz) nie ten, co trzeba. Debuger pomaga to rozdzielić.

Co właściwie siedzi w JWT i na co patrzeć najpierw

JWT składa się z trzech elementów: header, payload i signature. Header mówi, jak token jest podpisany (np. alg), payload niesie dane (claimy), a podpis ma gwarantować, że treść nie została zmieniona.

Header: alg, typ i czasem tajemnicze kid

Najważniejsze pole to alg — algorytm podpisu. Jeśli widzisz tam none, to zapala się czerwona lampka: taki token nie powinien być akceptowany w żadnym poważnym scenariuszu. Pole typ zwykle jest „JWT”, a kid bywa używane do wskazania konkretnego klucza (np. w środowiskach z rotacją kluczy).

Payload: claimy, role, identyfikatory i „czas”

W payload często są identyfikatory użytkownika, nazwy ról, uprawnienia, a także standardowe claimy typu exp, iat, nbf. Debuger pokaże je w JSON i od razu przeliczy na czytelną datę, dzięki czemu nie musisz ręcznie przeliczać timestampów.

Najczęstsze scenariusze: po czym poznasz, że token „udaje” poprawny

401 / 403

Token jest czasowo OK, ale API odrzuca. Zwykle to zły podpis, zły issuer/audience, albo claimy nie pasują do reguł autoryzacji.

Wygasł

Exp jest w przeszłości. W praktyce często winna jest różnica czasu między serwerami lub zbyt krótki TTL w konfiguracji.

Jeszcze nieaktywny

NBF ustawione w przyszłości. Typowe przy integracjach i środowiskach testowych, gdzie zegary nie są zsynchronizowane.

Podejrzany alg

„none” albo nieobsługiwany algorytm. To nie zawsze błąd, ale zawsze temat do weryfikacji po stronie backendu.

Za krótki secret

Dla HMAC krótkie sekrety kuszą, bo „działa”. Tylko że bezpieczeństwo potrafi się wtedy rozsypać jak domek z kart.

Za duży payload

Token puchnie, bo ktoś wkłada za dużo danych do claimów. To zwiększa ryzyko wycieków i problemy z nagłówkami HTTP.

Algorytmy JWT w praktyce: co wymaga secretu, co klucza, a co jest podejrzane

Algorytm Rodzina Do weryfikacji potrzebujesz Typowe zastosowanie Najczęstsza wpadka
HS256 / HS384 / HS512 HMAC Secret (współdzielony) Własne API, monolity, proste integracje Za krótki secret, pomyłka środowisk (dev/prod)
RS256 / RS384 / RS512 RSA Klucz publiczny Integracje, SSO, rotacja kluczy, większe systemy Wklejony zły format klucza, nie ten key-id
none Brak podpisu W zasadzie: nie powinno się używać Akceptacja tokena bez podpisu (krytyczne)

Mini-checklista: co sprawdzić zanim uznasz token za „wadliwy”

Czasem token jest OK, tylko kontekst po stronie aplikacji jest inny niż myślisz. Ta checklista oszczędza sporo nerwów.

  • Czy JWT ma dokładnie 3 części oddzielone kropkami (header.payload.signature)?
  • Czy exp nie jest w przeszłości i czy serwery mają zsynchronizowany czas?
  • Czy nbf nie blokuje tokena „jeszcze przed startem”?
  • Czy alg w headerze zgadza się z tym, czego oczekuje backend?
  • Czy weryfikacja sygnatury przechodzi na właściwym secrecie/kluczu publicznym?
  • Czy payload nie zawiera danych, których nie powinno być w tokenie (np. wrażliwych)?

Bezpieczeństwo JWT bez straszenia: na co ten debuger zwraca uwagę

Narzędzie nie udaje pełnego skanera bezpieczeństwa, ale potrafi wyłapać rzeczy, które w realnych projektach robią różnicę. Przykładowo: algorytm none to czerwony alarm. Do tego dochodzą praktyczne ostrzeżenia dla HMAC, gdy sekret jest podejrzanie krótki — bo brute force lub wycieki konfiguracji zdarzają się częściej, niż byśmy chcieli.

Najważniejsze jest podejście: dekodowanie to podgląd, weryfikacja to zaufanie. Jeśli chcesz być pewny, że token nie został podmieniony, zawsze korzystaj z opcji weryfikacji podpisu.

FAQ — pytania, które pojawiają się zawsze

Czy dekodowanie JWT jest bezpieczne? Czy mój token gdzieś „wędruje”?

Dekodowanie JWT polega na odczytaniu danych zakodowanych w Base64URL, więc samo w sobie nie wymaga łamania szyfrów ani „magii”. Z punktu widzenia użytkownika ważne jest jedno: wklejaj tokeny świadomie. Jeśli token daje dostęp do konta lub API, traktuj go jak hasło — nie udostępniaj publicznie i nie wysyłaj w miejsca, którym nie ufasz.

Dlaczego widzę payload, ale podpis się nie zgadza?

To klasyka. Payload zawsze da się odczytać, bo nie jest szyfrowany (JWT to zwykle token podpisany, nie zaszyfrowany). Jeśli podpis nie przechodzi, przyczyny są zwykle proste: zły secret (HS), zły klucz publiczny (RS), nie ten algorytm w headerze, albo token został zmieniony po drodze (np. przypadkowe spacje, obcięcie fragmentu, podmiana znaków).

Token jest „czasowo poprawny”, a aplikacja i tak zwraca 401 — co dalej?

Jeśli czas się zgadza, przechodzisz do „kontekstu”: issuer (iss), audience (aud), scope/role/uprawnienia, a także sposób, w jaki backend mapuje claimy. Często token jest poprawny kryptograficznie, ale nie pasuje do oczekiwanego „profilu” (np. inne aud, inne środowisko, inny provider).

Co oznaczają exp, iat i nbf w praktyce?

iat to chwila wystawienia tokena, exp to chwila wygaśnięcia, a nbf to moment, od którego token ma być uznany za ważny. Najczęściej patrzysz na exp (czy nie minął) i na nbf (czy nie jest ustawione w przyszłości). Debuger pokazuje te wartości jako daty, żebyś nie musiał przeliczać timestampów ręcznie.

Czym różni się HS256 od RS256 i co wybrać?

HS256 używa współdzielonego sekretu — ta sama wartość służy do podpisu i weryfikacji. RS256 opiera się o parę kluczy: prywatny podpisuje, publiczny weryfikuje. W praktyce HS bywa prostszy w jednym systemie, a RS lepiej skaluje się w integracjach i środowiskach z wieloma usługami, gdzie nie chcesz rozsyłać sekretu do wszystkich.

Dlaczego „alg: none” to problem?

Bo oznacza brak podpisu. Jeśli system akceptuje tokeny z alg „none”, ktoś może wziąć dowolny payload (np. podnieść rolę do admina), zakodować go i podać jako „token” bez żadnej kryptograficznej ochrony. Debuger oznacza to jako krytyczne ostrzeżenie, bo konsekwencje bywają natychmiastowe.

Jeśli chcesz: użyj debugera teraz

Wklej token, dekoduj i zobacz, co w nim siedzi. A jeśli sprawa dotyczy bezpieczeństwa lub integracji — odpal weryfikację podpisu i miej temat zamknięty na faktach, nie domysłach.

Otwórz Debuger Tokenów JWT