Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Przejdź do głównej treści
Gizke.com
Blog

Dekoder JWT

Działa na Twoim urządzeniu. Nic nie jest wysyłane.

Dekoduj i sprawdzaj JSON Web Tokeny całkowicie w przeglądarce - nagłówek, payload, czas wygaśnięcia i opcjonalna weryfikacja podpisu, nic nie jest nigdzie przesyłane.

JSON Web Token (JWT) to zwarty, bezpieczny dla adresów URL sposób reprezentowania roszczeń między dwiema stronami - używany wszędzie, od nagłówków "Authorization: Bearer ..." po ciasteczka sesyjne i logowanie jednokrotne (SSO). JWT to po prostu trzy zakodowane w base64url części (nagłówek, payload, podpis) połączone kropkami, więc każdy może zdekodować i odczytać nagłówek oraz payload bez potrzeby posiadania klucza podpisującego - tylko weryfikacja podpisu wymaga sekretu lub klucza prywatnego. To narzędzie dekoduje obie części lokalnie w Twojej przeglądarce, wyjaśnia standardowe roszczenia, oznacza wygasły lub jeszcze nieważny token oraz ostrzega przed pułapką bezpieczeństwa algorytmu "none" - Twój token nigdy nigdzie nie jest wysyłany.

Najczęściej zadawane pytania

Czy mój JWT jest wysyłany na serwer?
Nie. Dekodowanie odbywa się całkowicie w Twojej przeglądarce za pomocą interfejsów Web atob i TextDecoder - token oraz każdy sekret lub klucz publiczny wklejony w celu weryfikacji podpisu nigdy nie opuszczają Twojego urządzenia.
Czy to narzędzie może zweryfikować podpis?
Tak, jako dodatek działający w miarę możliwości. Jeśli znasz sekret HMAC (dla HS256/384/512) lub wkleisz klucz publiczny zakodowany w PEM (dla RS256/384/512 lub ES256/384/512), narzędzie sprawdzi podpis lokalnie za pomocą Web Crypto API przeglądarki. Bez klucza dekodowane i wyświetlane są tylko nagłówek i payload - samo dekodowanie nigdy nie wymaga klucza podpisującego.
Dlaczego jest napisane, że algorytm to "none"?
"alg": "none" oznacza, że token w ogóle nie jest podpisany - ktokolwiek mógł wpisać do niego dowolne roszczenia. Niektóre biblioteki historycznie błędnie akceptowały takie niepodpisane tokeny jako prawidłowe, co stało się znanym sposobem obejścia uwierzytelniania. To narzędzie zawsze wyraźnie to oznacza, żebyś tego nie przeoczył.
Co oznaczają exp, iat i nbf?
To standardowe roszczenia czasowe z RFC 7519: iat wskazuje, kiedy token został wydany, nbf - najwcześniejszy moment, w którym staje się ważny, a exp - kiedy przestaje nim być. Wszystkie trzy są przechowywane jako NumericDate - liczba sekund od epoki Uniksa - co to narzędzie przekształca na czytelną datę i czas względny, np. "wygasa za 2 godziny".
Dlaczego mogę odczytać payload bez sekretu?
Ponieważ nagłówek i payload JWT są jedynie zakodowane w base64url, a nie zaszyfrowane - kodowanie to nie to samo co poufność. Każdy, kto posiada token, może już odczytać jego roszczenia; podpis dowodzi jedynie, że nie zostały one zmodyfikowane przez kogoś bez klucza. Nigdy nie umieszczaj w payloadzie JWT niczego, czego nie chcesz, aby atakujący mógł odczytać bezpośrednio.
Mój token ma 3 części, ale nadal się nie dekoduje - dlaczego?
Każdy z trzech segmentów (nagłówek, payload, podpis) musi być prawidłowym tekstem base64url, a nagłówek i payload muszą dekodować się do prawidłowego JSON-a. To narzędzie dekoduje nagłówek i payload niezależnie i mówi dokładnie, który z nich jest uszkodzony i dlaczego (zły base64, zły UTF-8 lub nieprawidłowy JSON), zamiast po prostu zawieść po cichu.
Dla programistów: otwórz tę stronę z parametrem `token` w adresie URL - np. gizke.com/jwt?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - a ten token zostanie automatycznie wstępnie wypełniony. Większość odwiedzających tego nie potrzebuje; służy to do tworzenia bezpośrednich linków do gotowego przykładu.

Udostępnij to narzędzie

BlogO nasKontaktWarunki korzystaniaPolityka prywatności