Brezplačni pretvornik

Žeton JWT Dekoder

Dekodirajte glavo JWT (spletni žeton JSON) in koristno vsebino v trenutku v vašem brskalniku. Brezplačno, zasebno in na strani odjemalca — podatki se ne pošiljajo nobenemu strežniku.

O tem orodju

Spletni žetoni JSON (JWT) so kompakten, URL-varen format za prenos zahtevkov med dvema stranema, opredeljen v RFC 7519. JWT so trije segmenti, kodirani z base64url, ločeni s pikami: glava (algoritem in vrsta žetona), koristni tovor (zahtevki) in podpis (kriptografski dokaz pristnosti). Glava in vsebina sta JSON, kodirana z base64url za varnost URL-jev; podpis uporablja enega od več algoritmov (HS256, RS256, ES256 in drugi) preko kodirane glave in tovora.

Dekodiranje JWT – razdelitev na segmente in dekodiranje base64 vsakega – ne zahteva nobene skrivnosti. Vsakdo, ki ima besedilo žetona, lahko prebere njegovo glavo in tovor. Podpis pa je mogoče preveriti samo s tajnim (HMAC) ali javnim ključem (asimetričnim). Dekodiranje je za pregled; verifikacija je tisto, kar dokazuje pristnost.

Ta dekoder razdeli žeton, base64-dekodira vsak segment, razčleni glavo in tovor kot JSON ter prikaže rezultat. Ne poskuša preveriti podpisa, ker to zahteva tajni ali javni ključ, ki ga dekoder nima. Dekodirani izhod je pregled samo za branje – uporaben za odpravljanje napak žetonov, vendar ne nadomestilo za pravilno preverjanje v kodi aplikacije.

Zakaj dekodirati JWT

Odpravljanje težav pri preverjanju pristnosti skoraj vedno vključuje pregledovanje žetonov. Žeton, ki je v kodi videti veljaven, ima lahko napačne zahtevke, nepričakovan algoritem, potekel časovni žig exp ali neujemanje občinstva. Dekodiranje žetona natančno razkrije, kaj je ustvaril izdajatelj.

Pomaga tudi pregledovanje žetonov med integracijskim delom. Pri povezovanju z API-jem ali ponudnikom identitete tretje osebe je dejanska imena zahtevkov, formate in strukturo najbolje razumeti z dekodiranjem vzorčnih žetonov, namesto da bi se zanašali na dokumentacijo, ki je morda zastarela.

Kako uporabljati

Prilepite žeton, pridobite razčlenjeno vsebino.

  1. Prilepite svoj JWT: Spustite celoten žeton (header.payload.signature) v območje za vnos. Dekoder sprejema žetone z ali brez izbirne predpone Bearer.
  2. Preglejte glavo: Glava prikazuje algoritem podpisovanja (alg) in vrsto žetona (typ). Pogosti algoritmi so HS256, RS256 in ES256. Bodite pozorni na alg: none, ki signalizira nepodpisan žeton in je redko varen v proizvodnji.
  3. Preglejte tovor: Tovor vsebuje zahtevke: iss (izdajatelj), sub (predmet), aud (občinstvo), exp (potek), iat (izdano ob) in vse zahtevke, specifične za aplikacijo. Standardni časovni žigi so sekunde epohe Unix.
  4. Preveri ločeno: Dekoder ne preveri podpisa. Če želite preveriti pristnost, zaženite žeton skozi knjižnico JWT z ustreznim tajnim ali javnim ključem v kodi aplikacije.

Pogosti primeri uporabe

Tehnične podrobnosti

Format JWT so trije segmenti, združeni s pikami. Vsak segment je kodiran z base64url – URL-varna različica base64, ki uporablja - in _ namesto + in /, pri čemer je oblazinjenje včasih izpuščeno. Dekodiranje zahteva razveljavitev URL-varnih zamenjav, polnjenje segmenta in base64-dekodiranje.

Glava in tovor sta po dekodiranju JSON. Segment podpisa je binarni (neobdelani bajti podpisa) in ni berljiv; zahteva, da je ključ za preverjanje uporaben.

Pogosti zahtevki, opredeljeni v RFC 7519: iss (izdajatelj), sub (identifikator subjekta), aud (občinstvo), exp (iztek kot sekunde epohe Unix), nbf (not-before timestamp), iat (izdano ob časovnem žigu), jti (unikatni ID žetona). Zahtevki za posamezne aplikacije se lahko pojavijo s poljubnim imenom.

Najboljše prakse

Pogosta vprašanja

Ali je varno prilepiti svoj JWT sem?
ja Dekodiranje poteka v celoti v vašem brskalniku - žeton se nikoli ne pošlje nobenemu strežniku. Vendar so JWT poverilnice – ne delite jih javno (v posnetkih zaslona, ​​objavah Stack Overflow itd.), saj lahko omogočijo dostop do vaših računov.
Ali to orodje preverja podpis JWT?
To orodje dekodira in prikaže vsebino žetona. Za preverjanje podpisa je potreben tajni ključ (HMAC) ali javni ključ (RSA/ECDSA), ki mora ostati na vašem strežniku. Orodje prikazuje uporabljeni algoritem, vendar brez ključa ne more preveriti.
Kaj pomenijo standardne trditve JWT?
iss = izdajatelj, sub = predmet (ID uporabnika), exp = čas poteka (časovni žig Unix), iat = izdano ob, nbf = ne prej, aud = občinstvo, jti = ID JWT. Zahtevki po meri lahko vsebujejo vse podatke, specifične za aplikacijo.
Zakaj lahko kdo dekodira JWT?
JWT-ji so kodirani, ne šifrirani. Tovor je kodiran z Base64URL (ni šifriran), tako da ga lahko prebere vsak. Podpis preprečuje poseganje, ne branje. Nikoli ne shranjujte občutljivih podatkov (gesla, številke SSN) v nosilcih JWT.
Zakaj nekaterim žetonom manjka podpis?
Žetoni z alg: noben nimajo podpisa. Po specifikaciji so veljavni JWT-ji, vendar ne zagotavljajo nobenih jamstev za pristnost in jih ne bi smeli sprejeti v produkciji.
Ali so JWT šifrirani?
Standardni koristni tovori JWT so podpisani, vendar niso šifrirani. JWE (JSON spletno šifriranje, RFC 7516) je ločena oblika za šifrirane žetone. Večina JWT v naravi je JWS (samo podpisani).
Ali je moj žeton naložen na strežnik?
Ne. Dekodiranje poteka v vašem brskalniku; žeton ne zapusti vaše naprave.
Kako dolgo so običajno JWT?
Od nekaj sto do več tisoč znakov. Dolžina je odvisna od števila in velikosti zahtevkov ter dolžine podpisa (ki je odvisna od algoritma).