Besplatni pretvarač

JWT token Dekoder

Dekodirajte JWT (JSON web token) zaglavlje i sadržaj trenutno u vašem pregledniku. Besplatno, privatno i na strani klijenta — podaci se ne šalju bilo kojem poslužitelju.

O ovom alatu

JSON web tokeni (JWT) kompaktni su, URL-sigurni format za prijenos zahtjeva između dvije strane, definiran RFC 7519. JWT su tri base64url kodirana segmenta odvojena točkama: zaglavlje (algoritam i tip tokena), korisni teret (zahtjevi) i potpis (kriptografski dokaz autentičnosti). Zaglavlje i sadržaj su JSON, base64url kodirani za sigurnost URL-a; potpis koristi jedan od nekoliko algoritama (HS256, RS256, ES256 i drugi) preko kodiranog zaglavlja i nosivosti.

Dekodiranje JWT-a — njegovo dijeljenje u segmente i base64-dekodiranje svakog — ne zahtijeva nikakvu tajnu. Svatko s tekstom tokena može pročitati njegovo zaglavlje i sadržaj. Potpis se, međutim, može verificirati samo tajnim (HMAC) ili javnim (asimetričnim) ključem. Dekodiranje je za inspekciju; verifikacija je ono što dokazuje autentičnost.

Ovaj dekoder dijeli token, base64 dekodira svaki segment, analizira zaglavlje i sadržaj kao JSON i prikazuje rezultat. Ne pokušava provjeru potpisa jer to zahtijeva tajni ili javni ključ, koji dekoder nema. Dekodirani izlaz je pregled samo za čitanje — koristan za otklanjanje pogrešaka tokena, ali nije zamjena za pravilnu provjeru u kodu aplikacije.

Zašto dekodirati JWT-ove

Otklanjanje problema s autentifikacijom gotovo uvijek uključuje provjeru tokena. Token koji izgleda valjano u kodu može imati pogrešne tvrdnje, neočekivani algoritam, isteklu vremensku oznaku ili nepodudaranje publike. Dekodiranje tokena otkriva točno što je izdavatelj proizveo.

Provjera tokena tijekom rada integracije također pomaže. Kada se povezujete s API-jem ili pružateljem identiteta treće strane, stvarni nazivi, formati i struktura zahtjeva najbolje se razumiju dekodiranjem uzoraka tokena umjesto oslanjanjem na dokumentaciju koja je možda zastarjela.

Kako koristiti

Zalijepite token, dohvatite analizirani sadržaj.

  1. Zalijepite svoj JWT: Ispustite cijeli token (header.payload.signature) u područje za unos. Dekoder prihvaća tokene sa ili bez izbornog prefiksa nositelja.
  2. Pregledajte zaglavlje: Zaglavlje prikazuje algoritam potpisivanja (alg) i vrstu tokena (typ). Uobičajeni algoritmi su HS256, RS256 i ES256. Pazite na alg: none, koji signalizira nepotpisani token i rijetko je siguran u proizvodnji.
  3. Pregledajte nosivost: Korisni teret sadrži zahtjeve: iss (izdavač), sub (predmet), aud (publika), exp (istek), iat (izdano u) i sve zahtjeve specifične za aplikaciju. Standardne vremenske oznake su sekunde Unix epohe.
  4. Potvrdite zasebno: Dekoder ne provjerava potpis. Da biste provjerili autentičnost, pokrenite token kroz JWT biblioteku s odgovarajućim tajnim ili javnim ključem u kodu aplikacije.

Uobičajeni slučajevi upotrebe

Tehnički detalji

Format JWT sastoji se od tri segmenta spojena točkama. Svaki segment je base64url kodiran — URL-sigurna varijanta base64 koja koristi - i _ umjesto + i /, s ispunom koja se ponekad izostavlja. Dekodiranje zahtijeva poništavanje URL-sigurnih zamjena, punjenje segmenta i base64-dekodiranje.

Zaglavlje i sadržaj su JSON nakon dekodiranja. Segment potpisa je binarni (neobrađeni bajtovi potpisa) i nije čitljiv ljudima; zahtijeva da ključ za potvrdu bude koristan.

Uobičajeni zahtjevi definirani u RFC 7519: iss (izdavač), sub (identifikator subjekta), aud (publika), exp (istek kao sekunde Unix epohe), nbf (vremenska oznaka ne-prije), iat (vremenska oznaka izdana), jti (jedinstveni ID tokena). Zahtjevi specifični za aplikaciju mogu se pojaviti s bilo kojim nazivom.

Najbolji primjeri iz prakse

Često postavljana pitanja

Je li sigurno zalijepiti moj JWT ovdje?
da Dekodiranje se u potpunosti odvija u vašem pregledniku — token se nikada ne šalje nijednom poslužitelju. Međutim, JWT su vjerodajnice — nemojte ih javno dijeliti (na snimkama zaslona, ​​objavama Stack Overflowa itd.) jer mogu dopustiti pristup vašim računima.
Provjerava li ovaj alat JWT potpis?
Ovaj alat dekodira i prikazuje sadržaj tokena. Za provjeru potpisa potreban je tajni ključ (HMAC) ili javni ključ (RSA/ECDSA), koji bi trebao ostati na vašem poslužitelju. Alat prikazuje korišteni algoritam, ali ne može potvrditi bez ključa.
Što znače standardni JWT zahtjevi?
iss = izdavatelj, sub = predmet (korisnički ID), exp = vrijeme isteka (Unix vremenska oznaka), iat = izdano u, nbf = ne prije, aud = publika, jti = JWT ID. Prilagođene tvrdnje mogu sadržavati bilo koje podatke specifične za aplikaciju.
Zašto bilo tko može dekodirati JWT?
JWT-ovi su kodirani, a ne šifrirani. Korisni teret je Base64URL kodiran (nije šifriran), tako da ga svatko može pročitati. Potpis sprječava neovlašteno mijenjanje, a ne čitanje. Nikada nemojte pohranjivati ​​osjetljive podatke (lozinke, SSN-ove) u JWT korisnim sadržajima.
Zašto nekim tokenima nedostaje potpis?
Tokeni s alg: nijedan nemaju potpis. Oni su valjani JWT-ovi prema specifikaciji, ali ne daju jamstva autentičnosti i ne bi se trebali prihvatiti u proizvodnji.
Jesu li JWT šifrirani?
Standardni JWT sadržaji su potpisani, ali nisu šifrirani. JWE (JSON web šifriranje, RFC 7516) je zaseban format za šifrirane tokene. Većina JWT-ova u divljini su JWS (samo potpisani).
Je li moj token učitan na poslužitelj?
Ne. Dekodiranje se događa u vašem pregledniku; token ne napušta vaš uređaj.
Koliko dugo traju JWT-ovi obično?
Od nekoliko stotina do nekoliko tisuća znakova. Duljina ovisi o broju i veličini zahtjeva plus duljini potpisa (što ovisi o algoritmu).