Dekoder JWT: nagłówek, payload i ważność tokena
Ten dekoder JWT dzieli JSON Web Token na nagłówek i payload i pokazuje oba jako JSON z wcięciami, gdy tylko wkleisz token. Znaczniki czasu, takie jak exp, dostają obok czytelną datę lokalną, a znacznik mówi, czy token wygasł. Sprawdzanie podpisu jest opcjonalne. Token jest czytany w twojej przeglądarce i nigdy nie jest wysyłany.
Dekodowanie JWT krok po kroku
- Wklej token w pole JSON Web Token. Nagłówek i payload pojawiają się od razu, nie ma przycisku do naciskania.
- Sprawdź znaczniki statusu nad wynikiem: czy token wygasł, jeszcze nie obowiązuje albo nie ma terminu ważności, oraz jaki jest stan podpisu.
- Wybierz Kopiuj nagłówek albo Kopiuj payload, aby skopiować ten blok jako zwykły JSON. Notatki z datami nie trafiają do kopii.
- Wybierz Wyczyść, aby opróżnić pole i zacząć od innego tokena.
Token możesz wkleić tak, jak do ciebie dotarł: początkowe „Authorization: Bearer”, cudzysłowy dookoła i podziały wierszy są usuwane, więc kopiowanie z nagłówka żądania, linii logu czy odpowiedzi JSON działa. Pole przyjmuje do 100 000 znaków. Duże liczby i tekst w innych językach w claimach są pokazywane dokładnie, a długie wartości się zawijają. Jako parser JWT online działa od razu, bez ustawień.
Co zawierają nagłówek i payload
JWT składa się z trzech części base64url połączonych kropkami: header.payload.signature. Dwie pierwsze to zwykły JSON, tylko zakodowany, dlatego JWT można odczytać bez żadnego sekretu. Najczęstsze claimy to:
iss: wystawca, kto utworzył tokensub: podmiot, kogo dotyczy tokenaud: odbiorca, dla kogo jest tokenexp: czas wygaśnięcianbf: nieważny przed tą chwiląiat: czas wystawieniajti: unikalny identyfikator tokena
Nagłówek zwykle zawiera alg (algorytm podpisu), typ i czasem kid, czyli identyfikator klucza, którym podpisano token.
JWT exp na datę: jak sprawdzić ważność tokena
exp, iat, nbf i auth_time to uniksowe znaczniki czasu w sekundach. Narzędzie zapisuje każdy z nich jako lokalną datę i godzinę obok liczby, więc nic nie musisz przeliczać. Znaczniki nad wynikiem korzystają z zegara twojego urządzenia:
- Na podstawie claimu
exppokazują, jak dawno token wygasł albo ile jeszcze będzie ważny. - Gdy brakuje
exp, widzisz Bez ważności: token nie ma pola exp. - Gdy
nbfjest jeszcze w przyszłości, token jest oznaczony jako jeszcze nieważny.
Sprawdzanie podpisu sekretem lub kluczem publicznym
Dekodowanie pokazuje, co mówi token; dopiero podpis dowodzi, że nie został zmieniony. Pod wynikiem jest Zweryfikuj podpis (opcjonalnie). Zostaw Algorytm na automatycznym wykrywaniu, które czyta alg z tokena, albo wybierz go sam: HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 lub EdDSA. Potem wklej klucz w pole Sekret lub klucz publiczny:
- zwykły sekret dla algorytmów HS, użyty dokładnie tak, jak go wpiszesz, bez wcześniejszego dekodowania base64
- klucz publiczny PEM (
-----BEGIN PUBLIC KEY-----) albo klucz publiczny RSA w formacie PKCS#1 - certyfikat X.509
- JWK albo cały JWKS, a wtedy klucz jest wybierany po
kidz tokena
Znacznik zmienia się na Podpis poprawny albo Podpis niepoprawny. Bez klucza zostaje przy Podpis niezweryfikowany. Token z alg none pokazuje Brak podpisu: ten token jest niepodpisany. Jeśli wkleisz klucz prywatny, narzędzie go odrzuci i poprosi o publiczny, bo tylko on jest potrzebny do weryfikacji. Sprawdzanie używa wbudowanego w przeglądarkę WebCrypto, a EdDSA wymaga nowszej przeglądarki.
Gdy token nie daje się zdekodować
Błąd pojawia się pod polem i wskazuje część, z którą jest problem:
- Tekst nie ma trzech części oddzielonych dwiema kropkami, a komunikat podaje, ile części znalazł.
- Nagłówek, payload lub podpis nie jest poprawnym base64url, często przez znak zgubiony przy kopiowaniu.
- Nagłówek lub payload nie jest poprawnym tekstem UTF-8 albo poprawnym JSON-em.
- Token z pięcioma częściami to zaszyfrowany JWE. Jest rozpoznawany i wyjaśniany, ale bez klucza prywatnego nie da się go odczytać.
Czy można bezpiecznie wkleić tu token?
Token i każdy klucz są dekodowane i sprawdzane na twoim urządzeniu. Nic nie jest wysyłane ani zapisywane, a konto nie jest potrzebne. Mimo to aktywny token dostępu jest poświadczeniem, więc jeśli możesz, użyj tokena wygasłego albo testowego.
To narzędzie tylko odczytuje i sprawdza tokeny. Nie tworzy ani nie podpisuje JWT i nie odszyfrowuje JWE.
Najczęstsze pytania
Czy mogę zdekodować token JWT bez sekretu?
Tak. Nagłówek i payload JWT są tylko zakodowane w base64url, nie zaszyfrowane, więc odczyta je każdy, kto ma token. Wklej go w pole „JSON Web Token”, a oba pojawią się od razu. Sekret lub klucz publiczny jest potrzebny tylko do sprawdzenia podpisu, który tu jest opcjonalny.
Jak poznać, że JWT wygasł?
Wklej token i odczytaj znacznik nad wynikiem. Na podstawie claimu exp podaje, jak dawno token wygasł albo ile czasu mu zostało. Token bez claimu exp pokazuje „Bez ważności: token nie ma pola exp”, a gdy nbf jest jeszcze w przyszłości, znacznik informuje, że token jeszcze nie obowiązuje.
Jak zamienić wartość exp z JWT na datę?
Nie musisz. exp to uniksowy znacznik czasu w sekundach, a narzędzie zapisuje odpowiadającą mu lokalną datę i godzinę obok, w bloku „Payload”. To samo dotyczy iat, nbf i auth_time.
Jak sprawdzić podpis JWT kluczem publicznym?
W „Zweryfikuj podpis (opcjonalnie)” zostaw „Algorytm” na automatycznym wykrywaniu albo wybierz ten, którego używa token, i wklej klucz publiczny w „Sekret lub klucz publiczny”. Działa klucz PEM (-----BEGIN PUBLIC KEY-----), RSA PUBLIC KEY, certyfikat X.509, JWK lub JWKS. Potem znacznik zmienia się na „Podpis poprawny” albo „Podpis niepoprawny”.
Czy mogę zdekodować JWT lokalnie, bez wysyłania go na serwer?
Tak, tak właśnie działa to narzędzie. Token jest dzielony, dekodowany i sprawdzany w twojej przeglądarce, a nic nie jest wysyłane ani zapisywane. Sprawdzanie podpisu używa WebCrypto przeglądarki, więc ani token, ani klucz nie trafiają nigdzie.
Co zawierają nagłówek i payload JWT?
Nagłówek opisuje token: zwykle algorytm podpisu (alg), typ (typ) i czasem identyfikator klucza (kid). Payload zawiera claimy, na przykład kto wystawił token (iss), kogo dotyczy (sub), dla kogo jest (aud) i kiedy wygasa (exp). Oba to zwykły JSON widoczny w blokach „Nagłówek” i „Payload”.
Co oznacza alg none w JWT?
Token deklaruje, że jest niepodpisany: część z podpisem jest pusta i nie ma czego sprawdzać. Narzędzie pokazuje „Brak podpisu: ten token jest niepodpisany”. Serwer nigdy nie powinien przyjmować takiego tokena jako dowodu tożsamości.
Jak odczytać token typu bearer?
Jeśli to JWT, wklej go bez zmian. Początkowe „Authorization: Bearer”, cudzysłowy i podziały wierszy są usuwane za ciebie, więc możesz kopiować prosto z nagłówka żądania lub logu. Nieprzejrzystego tokena bearer, który nie składa się z trzech części rozdzielonych kropkami, nie da się zdekodować, a narzędzie podaje, ile części znalazło.
Czy mogę odszyfrować JWE albo tu utworzyć i podpisać JWT?
Nie. Token z pięcioma częściami to JWE, a jego zawartość jest zaszyfrowana, więc bez klucza prywatnego nie da się jej odczytać; narzędzie to rozpoznaje i mówi o tym zamiast pokazywać błąd. Nie generuje też, nie podpisuje ani nie edytuje tokenów, tylko je odczytuje i sprawdza.
Polecane
-
Yubico Security Key C NFCLogowanie już naprawione? Zabezpiecz własne konta kluczem USB-C odpornym na phishing.
-
Klucz bezpieczeństwa YubiKey 5C NFCŁączy OTP, kartę inteligentną i FIDO2 w jednym kluczu, przydatne, gdy budujesz i testujesz przepływy uwierzytelniania.
-
Podstawka pod laptopa Rain Design mStandPodnosi laptopa na wysokość oczu podczas długich sesji czytania tokenów i logów.
Pomaga utrzymać narzędzia za darmo. ✨
Zdjęcia poglądowe. Jestem Partnerem Amazon i otrzymuję wynagrodzenie z tytułu określonych zakupów dokonywanych za moim pośrednictwem.