Dekoder JWT
Wklej token, aby zobaczyć, co zawiera i kiedy wygasa. Jeśli masz klucz, możesz też sprawdzić podpis.
Dekodowanie odbywa się w przeglądarce. Nic nie jest wysyłane.
Ważność
…
Zdekodowany, niezweryfikowany: każdy może utworzyć token z taką zawartością. Wpisz poniżej klucz, aby sprawdzić podpis.
Nagłówek
{
"alg": "HS256",
"typ": "JWT"
}Ładunek
{
"iss": "https://example.com",
"sub": "1234567890",
"aud": "quaestio",
"name": "Ada Lovelace",
"iat": 1757000000,
"nbf": 1757000000,
"exp": 4102444800,
"jti": "4f1c2a9e"
}Pola i claimy
- algalgorytm podpisu
- HS256
- typtyp tokena
- JWT
- isswystawca
- https://example.com
- subpodmiot, zwykle identyfikator użytkownika
- 1234567890
- audodbiorca, dla którego przeznaczony jest token
- quaestio
- expczas wygaśnięcia
- 4102444800
- nbfnieważny przed
- 1757000000
- iatczas wystawienia
- 1757000000
- jtiunikalny identyfikator tokena
- 4f1c2a9e
- Podpis
- Rozmiar w bajtach: 32
Sprawdź podpis
Klucz jest używany tylko w przeglądarce i nie jest zapisywany.
Jak to działa
JSON Web Token (JWT, RFC 7519) składa się z trzech części oddzielonych kropkami: nagłówka, ładunku (payload) i podpisu. Nagłówek i ładunek to JSON zakodowany w base64url, odmianie base64, która używa - i _ zamiast + i / oraz pomija dopełnienie. Każdy może odczytać zawartość; nie jest ona zaszyfrowana.
Nagłówek podaje algorytm (alg), a często także typ (typ) i identyfikator klucza (kid). Ładunek zawiera claimy, czyli stwierdzenia o użytkowniku lub sesji. Standard rejestruje siedem: iss (wystawca), sub (podmiot), aud (odbiorca), exp (czas wygaśnięcia), nbf (nie wcześniej niż), iat (czas wystawienia) i jti (identyfikator JWT). Pozostałe claimy określa wystawca.
Czasy w exp, nbf i iat to sekundy od 1 stycznia 1970 UTC. Tokenu nie wolno akceptować od chwili exp ani przed chwilą nbf. Dekoder porównuje je z zegarem twojego urządzenia, więc źle ustawiony zegar daje błędny status.
Dekodowanie to nie weryfikacja. Podpis pokazuje, że token wystawił ktoś, kto ma klucz, i że zawartość nie została zmieniona, ale da się to sprawdzić tylko kluczem. HS256, HS384 i HS512 używają wspólnego sekretu (HMAC). RS i PS używają RSA, ES krzywych eliptycznych (ECDSA z P-256, P-384 lub P-521), a EdDSA Ed25519; te sprawdza się kluczem publicznym w formacie PEM lub JWK, który wystawcy często publikują jako JWK Set.
Token z alg none nie ma podpisu i serwer nigdy nie powinien go akceptować. Kilka znanych luk bezpieczeństwa wzięło się z bibliotek, które akceptowały none albo pozwalały atakującemu zamienić RS256 na HS256 i podpisać token kluczem publicznym użytym jako sekret.
Token często działa jak klucz do konta. Tutaj wszystko dzieje się w twojej przeglądarce za pomocą wbudowanej kryptografii (WebCrypto), a ani token, ani sekret, ani klucz nie są nigdzie wysyłane. Mimo to nigdy nie wklejaj aktywnego tokena ani sekretu na stronie, której nie ufasz, i nigdy nie wklejaj klucza prywatnego: do weryfikacji wystarczy publiczny.