Przejdź do głównej treści
LibraTool logoLibraTool

Dekoder JWT za darmo

Dekoduj i sprawdzaj dowolny JSON Web Token. Wyświetlaj nagłówek, ładunek, datę wygaśnięcia i standardowe claimy. Wszystko działa lokalnie w Twojej przeglądarce — tokeny nigdy nie opuszczają Twojego urządzenia.

Działa offline po wczytaniu

🔒 Token jest dekodowany w całości w przeglądarce. Nic nie jest wysyłane na żaden serwer.

Typowe zastosowania

  • Debuguj Problemy Uwierzytelniania za Pomocą JWT DecoderSprawdź JWT z aplikacji, aby debugować błędy logowania, problemy z uprawnieniami i problemy z wygaśnięciem tokena.
  • Sprawdzaj Tokeny API Podczas Testowania Punktów KońcowychDekoduj JWT zwrócone przez API, aby sprawdzić, czy są wydawane prawidłowe roszczenia, zakresy i uprawnienia.
  • Audyt Bezpieczeństwa Tokeny JWTPrzejrzyj JWT w ramach audytu bezpieczeństwa: sprawdzić słabe algorytmy podpisywania, nadmierne czasy życia tokenów lub czułe dane w ładunku.
  • Sprawdzaj Tokeny OAuth i OpenID ConnectDekoduj tokeny dostępu, tokeny ID i tokeny odświeżania od Google, Auth0, Okta, Microsoft i innych dostawców OAuth.
  • Dowiedz Się, Jak Działają Tokeny JWTDekoduj przykładowe JWT, aby zrozumieć strukturę: nagłówek, ładunek i podpis. Zobacz przykłady roszczeń z rzeczywistego świata.

Jak to działa

Dekoder to ręcznie napisany parser bez zależności, działający w całości w przeglądarce: dzieli token na kropkach, zamienia każdy segment Base64URL na zwykły Base64 przez zamianę znaków i dopełnia go do wielokrotności czterech, a następnie wywołuje natywne atob() i JSON.parse przeglądarki, aby odtworzyć obiekty nagłówka i ładunku. Opcjonalna weryfikacja podpisu korzysta z Web Crypto API (crypto.subtle.verify) — bez biblioteki i serwera.

  1. 1
    Dekodowanie Base64URL
    Narzędzie dzieli JWT na dwóch kropkach, uzyskując trzy segmenty. Każdy segment jest w formacie Base64URL — który używa - i _ zamiast + i / oraz pomija dopełnienie. Kod zamienia te znaki z powrotem i dopełnia znakami =, a następnie wywołuje wbudowane w przeglądarkę atob(), aby zdekodować bajty.
  2. 2
    Parsowanie JSON i wyodrębnianie claimów
    Zdekodowane bajty trafiają do JSON.parse, co daje obiekty nagłówka i ładunku. Zarejestrowane claimy exp, iat i nbf są wyodrębniane jako znaczniki czasu Unix i zamieniane na obiekty Date; stan wygaśnięcia jest sprawdzany ponownie co 20 sekund przez setInterval, więc token, który wygaśnie przy otwartej karcie, automatycznie zmienia status z ważnego na wygasły. Względne znaczniki czasu („za 3 dni”, „2 godziny temu”) są formatowane przez Intl.RelativeTimeFormat z ustawieniami regionalnymi przeglądarki.
  3. 3
    Wyświetlanie i opcjonalna weryfikacja podpisu
    Surowy ciąg podpisu Base64URL jest pokazywany obok nagłówka i ładunku. Jeśli podasz klucz, narzędzie wywołuje crypto.subtle.importKey i crypto.subtle.verify, aby sprawdzić podpis lokalnie. Akceptuje wspólne sekrety HMAC (HS256/384/512), klucze publiczne RSA w formacie PEM (RS256/384/512) oraz klucze publiczne ECDSA lub obiekty JWK/JWKS (ES256/384/512) — zależnie od pola alg w nagłówku.
  4. 4
    Bez żądań sieciowych
    Każdy krok — dekodowanie, obliczenia na znacznikach czasu i weryfikacja kryptograficzna — działa w silniku JavaScript przeglądarki. Token i wpisane klucze nigdy nie opuszczają urządzenia.

Tokeny JWT często zawierają dane sesji, tożsamość użytkownika i zakresy uprawnień; to narzędzie dekoduje je i opcjonalnie weryfikuje w całości w przeglądarce za pomocą atob() i Web Crypto API, więc ani token, ani podany klucz nie są nigdzie przesyłane.

Powiązane narzędzia

Często zadawane pytania