Przejdź do treści
HNarzędzia
pl
Kategorie

Dekoder JWT online - odczytaj token i zweryfikuj podpis

Wklej token JWT, aby zobaczyć jego nagłówek i dane w czytelnej formie, sprawdzić, czy wygasł, oraz zweryfikować podpis sekretem lub kluczem publicznym. Wszystko dzieje się lokalnie.

  • Za darmo
  • Bez rejestracji
  • Prywatne
  • Działa lokalnie
Nigdy nie wklejaj produkcyjnych tokenów na nieznanych stronach. Ten dekoder działa wyłącznie lokalnie w Twojej przeglądarce - token i klucz nie są nigdzie wysyłane. Mimo to tokeny produkcyjne traktuj jak hasła: jeśli wkleiłeś taki token gdziekolwiek w sieci, rozważ jego unieważnienie.

Jak zdekodować token JWT?

  1. 1.

    Wklej token

    Wklej cały token (możesz z prefiksem „Bearer ”). Nagłówek i payload zdekodują się natychmiast.

  2. 2.

    Sprawdź ważność

    Zobacz daty exp, iat i nbf w czytelnym formacie wraz z informacją, czy token już wygasł.

  3. 3.

    Zweryfikuj podpis

    Podaj sekret (HS256/384/512) lub klucz publiczny PEM/JWK (RS, PS, ES), aby sprawdzić, czy token nie został zmodyfikowany.

Budowa tokenu JWT

JWT (JSON Web Token, RFC 7519) to trzy części zakodowane w base64url i rozdzielone kropkami: nagłówek.payload.podpis. Nagłówek zawiera algorytm podpisu (alg) i typ (typ), payload - tzw. claims, czyli dane o użytkowniku i tokenie, a podpis chroni przed modyfikacją. Zawartość nagłówka i payloadu jest tylko zakodowana, a nie zaszyfrowana - każdy może ją odczytać, dlatego nie umieszczaj w tokenie haseł ani danych wrażliwych.

Przykład: token zaczynający się od eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 to nagłówek {"alg":"HS256","typ":"JWT"}.

Standardowe pola: exp, iat, nbf, iss, sub, aud

PoleZnaczenie
isswystawca tokenu
subpodmiot (zwykle identyfikator użytkownika)
audodbiorca, dla którego token jest przeznaczony
expczas wygaśnięcia (sekundy od 1970-01-01 UTC)
nbfnie wcześniej niż - token nieważny przed tą chwilą
iatczas wystawienia
jtiunikalny identyfikator tokenu

Dekoder przelicza exp, iat i nbf na czytelną datę i czas względem teraz (np. „za 2 godziny”, „3 dni temu”). Przykład: iat = 1516239022 to 18 stycznia 2018, 01:30:22 UTC.

Weryfikacja podpisu: HS256, RS256, ES256

Podpis liczony jest z base64url(nagłówek) + "." + base64url(payload). Algorytmy HS256/384/512 używają wspólnego sekretu (HMAC) - weryfikator musi znać ten sam sekret, którym token podpisano. Algorytmy RS* (RSA PKCS#1 v1.5), PS* (RSA-PSS) i ES* (ECDSA P-256/384/521) używają pary kluczy - do weryfikacji potrzebny jest tylko klucz publiczny w formacie PEM („BEGIN PUBLIC KEY”) lub JWK. Weryfikacja używa interfejsu WebCrypto przeglądarki.

Do przetestowania użyj przykładu: sekret your-256-bit-secret daje poprawny podpis dla tokena z przycisku „Wstaw przykład”, a zmiana jednego znaku w payloadzie unieważnia podpis.

Bezpieczeństwo: nie wklejaj tokenów produkcyjnych

Token JWT działa jak hasło - kto go posiada, może występować w Twoim imieniu do czasu wygaśnięcia. Nigdy nie wklejaj produkcyjnych tokenów ani sekretów do nieznanych stron internetowych. Ten dekoder przetwarza dane wyłącznie w Twojej przeglądarce i niczego nie wysyła na serwer, ale zasadę warto zachować: do testów używaj tokenów deweloperskich, a po przypadkowym ujawnieniu tokenu - unieważnij go i wygeneruj nowy.

Pamiętaj też, że samo zdekodowanie nie dowodzi autentyczności. Serwer musi zawsze zweryfikować podpis, algorytm (odrzucać alg: none), wystawcę (iss), odbiorcę (aud) i czas ważności.

Najczęściej zadawane pytania

Czy bezpiecznie jest wklejać token JWT do dekodera?

+
Ten dekoder działa lokalnie i niczego nie wysyła, ale ogólna zasada brzmi: nie wklejaj produkcyjnych tokenów ani sekretów do stron, których nie kontrolujesz. Do testów używaj tokenów deweloperskich.

Czy JWT jest zaszyfrowany?

+
Nie. Standardowy JWT (JWS) jest tylko podpisany - nagłówek i payload to base64url, który każdy może odczytać. Szyfrowane tokeny to osobny format JWE (5 części), którego zawartość wymaga klucza deszyfrującego.

Jak sprawdzić, czy token JWT wygasł?

+
Sprawdź pole exp - to czas wygaśnięcia w sekundach od 1970 roku. Dekoder pokazuje je jako datę i informuje, czy token jest jeszcze ważny, wygasł lub nie obowiązuje jeszcze (nbf).

Czym się różni HS256 od RS256?

+
HS256 używa jednego wspólnego sekretu do podpisu i weryfikacji (HMAC-SHA256). RS256 używa pary kluczy RSA: podpisuje klucz prywatny, a weryfikuje publiczny, więc odbiorcy tokenu nie muszą znać sekretu wystawcy.

Dlaczego weryfikacja pokazuje „podpis niepoprawny”?

+
Najczęściej: zły sekret lub klucz, sekret ze zbędną spacją/znakiem nowej linii, sekret zakodowany w base64 (zaznacz odpowiednią opcję) albo token został zmieniony po podpisaniu.

Jakie algorytmy podpisu są obsługiwane?

+
HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 i ES512. Klucz publiczny można podać jako PEM (SPKI) lub JWK; certyfikaty X.509 i klucze PKCS#1 nie są obsługiwane.

Aktualizacja: