JWT dekoder
Dekodiraj zaglavlje i sadržaj JWT-a, pročitaj exp, iat i nbf kao datume te provjeri HS256, RS256, PS256, ES256 ili EdDSA potpis u pregledniku.
Tokeni su vjerodajnice. Ovaj alat ih dekodira i provjerava u tvom pregledniku i nikamo ih ne šalje.
Zaglavlje
Sadržaj (payload)
| Tvrdnja | Vrijednost | Datum | Status |
|---|
- Algoritam (alg)
- —
- Potpis (Base64url)
- —
Provjeri potpis
HS256/384/512: unesi zajedničku tajnu. RS, PS, ES (256/384/512) i EdDSA: zalijepi javni ključ kao PEM (javni ključ, RSA javni ključ ili certifikat) ili JWK (JWK Set se bira prema kid-u).
Kako dekodirati JWT
- Zalijepi token u polje JSON Web Token. Radi i cijela vrijednost
Authorization: Bearer …: prefiksBeareri prijelomi redaka se uklanjaju. - Token se dekodira dok tipkaš (ili klikni Dekodiraj). Zaglavlje i Sadržaj (payload) prikazuju se kao formatirani JSON, svaki sa svojim gumbom Kopiraj.
- Pogledaj tablicu Vremenske tvrdnje:
exp,nbfiiatprikazani su sa sirovom vrijednošću, datumom u tvojoj vremenskoj zoni, relativnim vremenom i statusom kao što je Isteklo ili Još ne vrijedi. - Pročitaj upozorenja iznad rezultata, na primjer kad je
algjednaknoneili kad datum izgleda kao milisekunde. - Za provjeru potpisa upiši ključ pod Provjeri potpis i klikni Provjeri potpis.
Dekodiranje nije provjera
JWT se sastoji od tri Base64url dijela odvojena točkama: zaglavlje.sadržaj.potpis. Zaglavlje i sadržaj samo su kodirani, a ne šifrirani, pa ih može pročitati svatko tko ima token, a ovaj alat može dekodirati bilo koji token bez ključa. To također znači da dekodirani sadržaj ništa ne dokazuje: netko ga je mogao izmijeniti. Samo ispravan potpis pokazuje da je token izdao vlasnik ključa i da se od tada nije mijenjao. Zato status ostaje „Dekodirano (potpis nije provjeren)“ dok ga ne provjeriš.
Token s pet dijelova je JWE (šifrirani JWT); njegov se sadržaj ne može pročitati bez ključa za dešifriranje, a alat ti to i kaže.
Provjera potpisa
- HS256, HS384, HS512 (HMAC): unesi zajedničku Tajnu. U polju Format tajne odaberi je li riječ o običnom tekstu (UTF-8) ili o Base64/Base64url zapisu, jer neki pružatelji čuvaju tajne u Base64. Možeš zalijepiti i JWK tipa
oct. Ako je tajna kraća od izlaza hash funkcije (32 bajta za HS256), alat napominje da je ispod minimuma iz RFC-a 7518. - RS256/384/512, PS256/384/512, ES256/384/512 i EdDSA: zalijepi Javni ključ (PEM ili JWK). Podržani PEM blokovi su
PUBLIC KEY,RSA PUBLIC KEYiCERTIFICATE(ključ se čita iz X.509 certifikata). Radi i JWK ili cijeli JWK Set: koristi se ključ čijikidodgovara zaglavlju. Privatni ključevi se odbijaju; provjera ih nikada ne treba. EdDSA podržava Ed25519 u preglednicima čiji Web Crypto to omogućuje.
Provjera koristi Web Crypto API preglednika. Rezultat „Neispravan potpis“ znači da je ključ pogrešan ili da je token izmijenjen. Imaj na umu da se algoritam uzima iz zaglavlja tokena: pravi poslužitelj mora očekivani algoritam fiksirati u konfiguraciji, inače ga napadač može sam odabrati.
Sigurnosne napomene
- Tokeni su vjerodajnice. Tko ima važeći pristupni token, obično može djelovati u ime njegova vlasnika do isteka. Ovaj alat sve dekodira i provjerava u tvom pregledniku i nikada nigdje ne šalje token ni ključ. Ipak izbjegavaj lijepiti produkcijske tokene u alate koje ne možeš pregledati.
alg: noneznači da token nije potpisan. Svatko ga može krivotvoriti, a poslužitelj ga mora odbiti. Alat prikazuje upozorenje i odbija „provjeriti“ takav token.- Provjere vremena ovdje koriste sat tvog računala bez ikakve tolerancije; poslužitelji često dopuštaju minutu-dvije razlike u satovima.
- JWT datumi (NumericDate) su sekunde od 1. siječnja 1970. UTC. Trinaest znamenki vjerojatno su milisekunde, što je čest propust.
Česta pitanja
Može li mi ovaj alat reći je li token valjan?
Može ti reći podudara li se potpis s ključem koji uneseš i jesu li exp i nbf trenutačno zadovoljeni. Hoće li token biti prihvaćen ovisi i o provjerama koje zna samo poslužitelj: očekivani izdavatelj (iss), publika (aud), algoritam i opoziv.
Zašto provjera ne uspijeva s ispravnom tajnom?
Provjeri Format tajne: Base64 tajna upisana kao tekst daje drugi ključ. Pazi i da tajni nije dodan razmak ili prijelom retka, jer se HMAC ključevi uspoređuju bajt po bajt.
Koja je razlika između RS256, PS256 i ES256?
Sva tri su potpisi javnim ključem sa SHA-256. RS256 koristi RSA s PKCS#1 v1.5 nadopunom, PS256 koristi RSA s PSS nadopunom, a ES256 koristi ECDSA na krivulji P-256, što daje puno kraće potpise.
Gdje mogu naći javni ključ pružatelja identiteta?
Pružatelji identiteta objavljuju JWKS (JSON Web Key Set), obično povezan iz /.well-known/openid-configuration pod jwks_uri. Otvori ga sam i ovdje zalijepi JSON; alat bira ključ prema kid-u i ništa ne dohvaća.
Je li sigurno ovdje zalijepiti svoj token?
Token ostaje na tvom uređaju: dekodiranje i provjera odvijaju se lokalno i ništa se ne šalje. Za dodatni oprez koristi istekli ili testni token kad ti treba samo pregled strukture.
Slični alati
- HMAC generator Izračunaj HMAC-SHA1, SHA-256, SHA-384 ili SHA-512 s tekstnim, hex ili Base64 ključem, dobij hex i Base64 izlaz i provjeri potpis webhooka u pregledniku.
- Base64 koder i dekoder Besplatni Base64 koder i dekoder s potpunom UTF-8 podrškom i opcijom base64url. Radi u pregledniku, ništa se ne šalje na poslužitelj.
- Pretvarač Unix vremenske oznake Pretvori Unix vremenske oznake u sekundama ili milisekundama u čitljive datume u lokalnom vremenu, UTC-u i ISO 8601, a svaki datum vrati u epoch vrijeme.
- JSON formater i validator Besplatni JSON formater i validator koji uljepšava, minificira i provjerava JSON u pregledniku, a sintaksne greške prijavljuje s retkom i stupcem.