Dekoder JWT: nagłówek, ładunek i data wygaśnięcia

Natychmiast dekoduj tokeny JSON Web Token (JWT). Bezpiecznie przeglądaj nagłówek i ładunek.

Dekoder JWT

Zgłoś Problem

Znalazłeś błąd lub masz sugestię dla Dekoder JWT: nagłówek, ładunek i data wygaśnięcia? Daj nam znać!

Jak ten dekoder JWT odczytuje token

JSON Web Token łączy trzy elementy w jednym ciągu znaków: nagłówek, ładunek i podpis. Ten dekoder rozdziela zakodowany token na te trzy części, zamienia nagłówek i ładunek z powrotem na czytelny JSON oraz odczytuje algorytm, datę wystawienia i datę wygaśnięcia, dzięki czemu możesz sprawdzić token bez pisania kodu.

Nagłówek, ładunek i podpis

Token jest podzielony dwiema kropkami na trzy części: nagłówek.ładunek.podpis. Dwie pierwsze części to JSON zakodowany w base64url, więc ich dekodowanie jest operacją odwracalną, a nie szyfrowaniem. Nagłówek zawiera algorytm podpisu, pole alg, na przykład HS256 lub RS256, oraz typ tokenu. Ładunek zawiera claimy: identyfikator subject, pola specyficzne dla aplikacji oraz zwykle iat (moment wystawienia) i exp (moment wygaśnięcia) zapisane jako sekundy Unix. Podpis to wartość kryptograficzna obliczona z nagłówka i ładunku; jego potwierdzenie wymaga tajnego lub prywatnego klucza, który go utworzył, więc odczytanie zawartości tokenu to co innego niż zweryfikowanie, że jest on prawdziwy. Niektóre tokeny są podpisywane z alg ustawionym na none i mają tylko dwie części, nagłówek.ładunek; dekoder akceptuje też tę krótszą formę i pozostawia pole podpisu puste. Base64url różni się od zwykłego base64 tym, że zamiast plusa i ukośnika używa myślnika i podkreślenia, a zwykle obywa się bez znaku równości stosowanego jako dopełnienie.

Przykład krok po kroku

Wklej token podobny do poniższego, a zostanie on podzielony na trzy kolorowe segmenty, po czym nagłówek i ładunek pojawią się jako sformatowany JSON.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIzNzU2MTAyOTQ4IiwibmFtZSI6IkFubmEgS293YWxza2EiLCJpYXQiOjE3MDkxMjE2MDAsImV4cCI6MTcxNjg5NzYwMH0.QQK3EfBoqyGrzj53KTSpfiNhHE4

{
  "alg": "HS256",
  "typ": "JWT"
}

{
  "sub": "3756102948",
  "name": "Anna Kowalska",
  "iat": 1709121600,
  "exp": 1716897600
}

Odznaka Algorithm pokazuje HS256, odczytane z nagłówka. Wartość iat odpowiada 28 lutego 2024, a wartość exp 28 maja 2024; ponieważ ta data już minęła, odznaka Status pokazuje EXPIRED. Nic z tego nie dzieje się na serwerze: dekodowanie działa w przeglądarce, a narzędzie nigdy nie sprawdza, czy podpis jest prawdziwy, ponieważ nie ma dostępu do klucza, który go utworzył.

Często Zadawane Pytania