Dekoder JWT
Wklej JSON Web Token, aby odczytać jego header i payload, sprawdzić, kiedy wygasa, i zrozumieć każdy claim. Token nigdy nie opuszcza przeglądarki.
Działa w przeglądarceBez rejestracjiNic nie jest wysyłane
Dekodowanie to nie weryfikacja. Każdy może odczytać nagłówek i payload tokena JWT, ponieważ są one jedynie zakodowane w base64url. To narzędzie pokazuje, co token deklaruje; nie dowodzi, że token jest prawdziwy. Zawsze weryfikuj podpis na swoim serwerze.
Nagłówek
Payload
Objaśnienie claimów
Weryfikacja podpisu (opcjonalnie, HS256/HS384/HS512)
Sprawdza podpis HMAC przy użyciu podanego sekretu i Web Crypto API Twojej przeglądarki. Sekret nigdy nie opuszcza tej strony. Tokeny RSA/ECDSA wymagają klucza publicznego wystawcy i nie są tutaj weryfikowane.
Jak używać: Dekoder JWT
- Wklej token do pola Zakodowany token. Początkowy prefiks
Bearerz nagłówka Authorization jest ignorowany. - Header i payload są dekodowane natychmiast i wyświetlane jako sformatowany JSON.
- Przeczytaj tabelę Objaśnienie claimów:
exp,iatinbfsą zamieniane na daty z informacją „wygasa za” / „wygasł … temu”. - Sprawdź pasek stanu pod kątem problemów z ważnością oraz ostrzeżenia o ryzykownych ustawieniach, takich jak
alg: none. - Opcjonalnie wpisz wspólny sekret, aby lokalnie zweryfikować podpis HS256, HS384 lub HS512.
Co jest w środku JWT?
JSON Web Token (RFC 7519) to trzy ciągi base64url połączone kropkami: header.payload.signature. Header określa algorytm podpisu (alg) i typ tokena. Payload zawiera claimy, np. kim jest użytkownik i kiedy token wygasa. Podpis jest obliczany z dwóch pierwszych części przy użyciu sekretu lub klucza prywatnego.
Dekodowanie to nie weryfikacja
Header i payload są tylko zakodowane, a nie zaszyfrowane, więc każdy, kto ma token, może je odczytać. Dlatego nigdy nie umieszczaj haseł ani sekretów w payloadzie JWT. Dekodowanie mówi, co token deklaruje. Weryfikacja podpisu, zwykle na serwerze API przy użyciu biblioteki takiej jak jose czy PyJWT, dowodzi, kto go wystawił i że nie został zmieniony. Serwer musi też sprawdzić exp, nbf, iss i aud oraz odrzucać nieoczekiwane algorytmy.
Ściąga zarejestrowanych claimów
| Claim | Znaczenie |
|---|---|
iss | Wystawca: kto utworzył i podpisał token |
sub | Podmiot: zwykle ID użytkownika |
aud | Odbiorca: dla którego API przeznaczony jest token |
exp | Czas wygaśnięcia w sekundach od epoki Unix |
nbf | Nieważny przed tym czasem |
iat | Czas wystawienia |
jti | Unikalny ID tokena, przydatny do list unieważnień |
Debugowanie błędów „token expired”
Jeśli API odrzuca token, który wygląda na świeży, porównaj exp i nbf z zegarem serwera. Niewielkie rozbieżności zegarów między maszynami są częste, dlatego większość bibliotek dopuszcza 30–60 sekund tolerancji. Sprawdź też, czy exp jest w sekundach: wartość w milisekundach to częsty błąd, który przesuwa wygaśnięcie o tysiące lat w przyszłość.
Najczęściej zadawane pytania
Czy bezpiecznie jest wkleić tu produkcyjny JWT?
Czy to narzędzie weryfikuje podpis JWT?
Dlaczego mój token jest oznaczony jako wygasły?
exp jest w przeszłości względem zegara Twojego komputera. Pobierz nowy token lub odśwież go za pomocą refresh tokena. Jeśli czasy wyglądają źle, sprawdź rozbieżność zegarów lub wartość exp zapisaną w milisekundach.Czym różnią się JWT, JWS i JWE?
Dlaczego alg „none” jest niebezpieczny?
alg: none i akceptować wyłącznie konkretny, oczekiwany algorytm.