Dekoder JWT
Dekodowanie i sprawdzanie JSON Web Tokens z objaśnieniami deklaracji
Wypróbuj przykład
Wklej token JWT, aby sprawdzić jego nagłówek, claims i podpis.
Podpis nie został zweryfikowany. Samo dekodowanie nie dowodzi, że token jest autentyczny ani godny zaufania.
Czas ważności tokenu
—
- Algorytm
- —
- Wystawiony
- —
- Nie przed
- —
- Wygasa
- —
Zarejestrowane claims
O narzędziu Dekoder JWT
Narzędzie Dekoder JWT to darmowe narzędzie online, które natychmiast dekoduje dowolny token JSON Web Token na trzy części: nagłówek (Header), ładunek (Payload) i podpis (Signature). Tokeny JSON Web Token (JWT) to otwarty standard (RFC 7519) służący do bezpiecznego przesyłania informacji między stronami w postaci zwartych, samodzielnych obiektów JSON. Stanowią podstawę nowoczesnego uwierzytelniania i autoryzacji w aplikacjach webowych, API i mikrousługach.
Każdy JWT składa się z trzech segmentów zakodowanych w Base64URL, oddzielonych kropkami. Nagłówek określa algorytm podpisu (np. HS256 lub RS256) i typ tokenu. Ładunek zawiera roszczenia (claims), czyli pary klucz-wartość z danymi użytkownika, uprawnieniami, czasem wygaśnięcia i innymi metadanymi. Podpis zapewnia, że token nie został zmodyfikowany, i można go zweryfikować wyłącznie przy użyciu właściwego sekretu lub klucza publicznego.
Narzędzie dekoduje tokeny JWT w całości w przeglądarce, bez komunikacji z serwerem, więc tokeny nigdy nie są przesyłane ani przechowywane poza Twoim urządzeniem. Sprawdza także status wygaśnięcia, formatuje znaczniki czasu do czytelnych dat i wyjaśnia standardowe zarejestrowane roszczenia, takie jak iss, sub, aud, exp, iat i nbf.
Najważniejsze funkcje
- Natychmiastowe dekodowanie dowolnego JWT na sekcje nagłówka, ładunku i podpisu
- Automatyczne sprawdzanie wygaśnięcia z wyraźnym banerem statusu: „Token nie wygasł”, „Token jeszcze nieaktywny” lub „Token wygasł”
- Czytelne formatowanie znaczników czasu Unix (exp, iat, nbf) z wyświetlaniem strefy czasowej
- Objaśnienia wszystkich standardowych zarejestrowanych roszczeń (iss, sub, aud, exp, nbf, iat, jti)
- Przyciski kopiowania jednym kliknięciem osobno dla nagłówka, ładunku i podpisu
- Dekodowanie w czasie rzeczywistym podczas wpisywania lub wklejania, z opóźnieniem reakcji na wpisywanie (debounce)
- Sekcje oznaczone kolorami: niebieski dla nagłówka, fioletowy dla ładunku, pomarańczowy dla podpisu
- Znacznik algorytmu (HS256, RS256, ES256 itd.) wyraźnie widoczny w banerze statusu
- Przykładowy token do szybkich testów i demonstracji
- 100% przetwarzania po stronie klienta, bez wysyłania danych na jakikolwiek serwer
Jak korzystać
- Wklej swój JWT: Skopiuj token JSON Web Token z aplikacji, odpowiedzi API, narzędzi deweloperskich przeglądarki lub systemu uwierzytelniania i wklej go w polu wejściowym.
- Zobacz zdekodowane sekcje: Narzędzie natychmiast dzieli token na nagłówek, ładunek i podpis, wyświetlając każdą część w sformatowanym panelu oznaczonym kolorem.
- Sprawdź wygaśnięcie: Baner statusu u góry pokazuje, czy token jest nadal ważny, czy wygasł, wraz z dokładną datą wygaśnięcia i odliczaniem.
- Przeczytaj objaśnienia roszczeń: Standardowe zarejestrowane roszczenia, takie jak iss, sub, exp i iat, mają opisy, dzięki którym wiadomo, co oznacza każde pole.
- Kopiuj sekcje: Przycisk kopiowania przy dowolnej sekcji kopiuje sformatowany JSON do schowka, do użycia w dokumentacji lub podczas debugowania.
- Wypróbuj przykład: Kliknij przycisk „Przykładowy token”, aby wczytać gotowy JWT i zobaczyć działanie dekodera, zanim wkleisz własne tokeny.
Zastosowania
- Debugowanie uwierzytelniania: Szybka inspekcja tokenów JWT zwracanych przez serwer uwierzytelniania, aby sprawdzić, czy roszczenia, role i uprawnienia są ustawione poprawnie.
- Tworzenie API: Dekodowanie tokenów dostępu podczas integracji z API, aby potwierdzić, że ładunek zawiera oczekiwane ID użytkownika, zakresy (scopes) i czas wygaśnięcia.
- Audyt bezpieczeństwa: Sprawdzanie tokenów pod kątem ujawnienia wrażliwych danych, słabych algorytmów (np. „none”) lub zbyt długich okresów ważności.
- Nauka i edukacja: Poznawanie struktury JWT przez dekodowanie przykładowych tokenów i czytanie opisów roszczeń dostarczanych przez narzędzie.
- Diagnozowanie wygasania tokenów: Ustalanie, czy błędy uwierzytelniania wynikają z wygasłych tokenów, przez porównanie roszczenia exp z bieżącym czasem.
- Debugowanie mikrousług: Inspekcja tokenów przekazywanych między usługami, aby sprawdzić, czy usługi nadrzędne wystawiają poprawnie zbudowane tokeny JWT z właściwymi roszczeniami.
- Weryfikacja przepływów OAuth: Dekodowanie tokenów ID i tokenów dostępu z przepływów OAuth 2.0 i OpenID Connect w celu sprawdzenia wystawcy, odbiorców i zakresów.
- Dokumentacja: Kopiowanie zdekodowanego nagłówka i ładunku JSON do dokumentacji API lub runbooków, aby zilustrować oczekiwaną strukturę tokenów.
Najczęściej zadawane pytania
Czy to narzędzie jest darmowe?
Tak. Dekoder JWT jest całkowicie darmowy: bez konta, bez limitów użycia i bez reklam blokujących działanie narzędzia.
Czy moje dane są bezpieczne?
Oczywiście. Całe dekodowanie odbywa się w przeglądarce przy użyciu JavaScriptu. Token JWT nigdy nie jest wysyłany na żaden serwer, więc narzędzie jest bezpieczne do inspekcji tokenów produkcyjnych.
Czy to narzędzie weryfikuje podpis JWT?
Nie. Weryfikacja podpisu wymaga klucza tajnego (dla HMAC) lub klucza publicznego (dla RSA/ECDSA), a tego nie da się bezpiecznie zrobić w przeglądarce po stronie klienta. Do walidacji podpisu należy używać bibliotek po stronie serwera.
Czym różni się HS256 od RS256?
HS256 to algorytm symetryczny, który używa jednego współdzielonego sekretu do podpisywania i weryfikacji. RS256 to algorytm asymetryczny, który podpisuje kluczem prywatnym, a weryfikuje kluczem publicznym, co czyni go idealnym dla systemów rozproszonych.
Czy mogę zdekodować zaszyfrowane tokeny JWT (JWE)?
To narzędzie dekoduje podpisane tokeny JWT (JWS). Zaszyfrowane tokeny JWT (JWE) wymagają klucza deszyfrującego i nie są obsługiwane przez ten dekoder.
Dlaczego mój token jest oznaczony jako wygasły?
Narzędzie porównuje roszczenie exp (wygaśnięcie) z bieżącym czasem systemowym. Jeśli znacznik czasu wygaśnięcia leży w przeszłości, token jest oznaczany jako wygasły. Należy sprawdzić, czy zegar systemowy jest dokładny.
Wskazówki i dobre praktyki
- Stosuj krótkotrwałe tokeny: Dla tokenów dostępu ustawiaj czas ważności od 15 do 60 minut i łącz je z bezpiecznymi tokenami odświeżania HTTP-only, aby utrzymać ciągłość sesji.
- Nigdy nie przechowuj sekretów w ładunku: Tokeny JWT są zakodowane, a nie zaszyfrowane. Każdy, kto ma token, może odczytać ładunek, więc nie umieszczaj w nim haseł, numerów kart kredytowych ani innych wrażliwych danych.
- Zawsze waliduj po stronie serwera: Dekodowanie JWT w przeglądarce jest przydatne przy debugowaniu, ale przed zaufaniem jakimkolwiek roszczeniom zawsze weryfikuj podpis na backendzie.
- Stosuj algorytmy asymetryczne w systemach rozproszonych: Wybierz RS256 lub ES256, gdy wiele usług musi niezależnie weryfikować tokeny bez współdzielenia klucza tajnego.
- Pilnuj rozmiaru tokenu: Duże ładunki zwiększają rozmiar nagłówków żądań i mogą spowalniać wywołania API. Ogranicz roszczenia do minimum i używaj odwołań (np. ID użytkownika) zamiast osadzania pełnych profili.
- Regularnie rotuj klucze podpisujące: Wdróż strategie rotacji kluczy z użyciem parametru nagłówka kid (Key ID), aby przechodzić między kluczami podpisu bez unieważniania wszystkich istniejących tokenów.