Bezplatný prevodník

Token JWT Dekodér

Dekódujte hlavičku a obsah JWT (JSON Web Token) okamžite vo svojom prehliadači. Bezplatné, súkromné ​​​​a na strane klienta – žiadne údaje sa neposielajú na žiadny server.

O tomto nástroji

JSON Web Tokeny (JWT) sú kompaktný formát bezpečný pre adresy URL na prenos nárokov medzi dvoma stranami, definovaný v RFC 7519. JWT sú tri segmenty zakódované pomocou base64url oddelené bodkami: hlavička (typ algoritmu a tokenu), obsah (nároky) a podpis (kryptografický dôkaz pravosti). Hlavička a obsah sú JSON, base64url-kódované pre bezpečnosť URL; podpis používa jeden z niekoľkých algoritmov (HS256, RS256, ES256 a ďalšie) nad zakódovanou hlavičkou a užitočným zaťažením.

Dekódovanie JWT – jeho rozdelenie na segmenty a dekódovanie podľa base64 – nevyžaduje žiadne tajomstvo. Ktokoľvek s textom tokenu si môže prečítať jeho hlavičku a obsah. Podpis je však možné overiť iba tajným (HMAC) alebo verejným kľúčom (asymetrický). Dekódovanie je na kontrolu; overenie je to, čo dokazuje pravosť.

Tento dekodér rozdelí token, base64-dekóduje každý segment, analyzuje hlavičku a užitočné zaťaženie ako JSON a zobrazí výsledok. Nepokúša sa overiť podpis, pretože to vyžaduje tajný alebo verejný kľúč, ktorý dekodér nemá. Dekódovaný výstup je kontrola len na čítanie – užitočná na ladenie tokenov, ale nie náhrada za správne overenie v kóde aplikácie.

Prečo dekódovať JWT

Ladenie problémov s autentifikáciou takmer vždy zahŕňa kontrolu tokenov. Token, ktorý v kóde vyzerá ako platný, môže mať nesprávne nároky, neočakávaný algoritmus, časovú pečiatku s vypršanou platnosťou alebo nesúlad publika. Dekódovanie tokenu odhalí presne to, čo emitent vyrobil.

Pomáha aj kontrola tokenov počas integračných prác. Pri pripájaní k poskytovateľovi API alebo identity tretej strany sú skutočné názvy, formáty a štruktúra nárokov najlepšie pochopiteľné dekódovaním vzorových tokenov, a nie spoliehaním sa na dokumentáciu, ktorá môže byť zastaraná.

Ako používať

Prilepte token a získajte analyzovaný obsah.

  1. Prilepte svoje JWT: Vložte celý token (header.payload.signature) do vstupnej oblasti. Dekodér akceptuje tokeny s alebo bez voliteľnej predpony Nosič.
  2. Skontrolujte hlavičku: Hlavička zobrazuje podpisový algoritmus (alg) a typ tokenu (typ). Bežné algoritmy sú HS256, RS256 a ES256. Watch for alg: none, ktorý signalizuje nepodpísaný token a je zriedkavo bezpečný vo výrobe.
  3. Skontrolujte užitočné zaťaženie: Užitočné zaťaženie obsahuje nároky: iss (emitent), sub (subject), aud (publikum), exp (expiration), iat (issued at) a akékoľvek nároky špecifické pre aplikáciu. Štandardné časové pečiatky sú sekundy epoch Unix.
  4. Overte samostatne: Dekodér neoveruje podpis. Ak chcete skontrolovať pravosť, spustite token cez knižnicu JWT s príslušným tajným alebo verejným kľúčom v kóde vašej aplikácie.

Bežné prípady použitia

Technické detaily

Formát JWT sú tri segmenty spojené bodkami. Každý segment je zakódovaný pomocou base64url – bezpečný variant base64, ktorý používa - a _ namiesto + a /, pričom odsadenie je niekedy vynechané. Dekódovanie vyžaduje zrušenie substitúcií bezpečných pre URL, vyplnenie segmentu a dekódovanie base64.

Hlavička a užitočné zaťaženie sú po dekódovaní JSON. Segment podpisu je binárny (nespracované bajty podpisu) a nie je čitateľný človekom; na to, aby bol užitočný, je potrebný overovací kľúč.

Bežné nároky definované v RFC 7519: iss (vydavateľ), sub (identifikátor predmetu), aud (publikum), exp (vypršanie platnosti ako sekundy epochy Unixu), nbf (časová pečiatka nie pred), iat (časová pečiatka vystavená), jti (jedinečné ID tokenu). Nároky špecifické pre aplikáciu sa môžu objaviť s ľubovoľným názvom.

osvedčené postupy

Často kladené otázky

Je bezpečné sem prilepiť môj JWT?
áno. Dekódovanie prebieha výlučne vo vašom prehliadači – token sa nikdy neodošle na žiadny server. JWT sú však prihlasovacie údaje – nezdieľajte ich verejne (na snímkach obrazovky, príspevkoch Stack Overflow atď.), pretože môžu poskytnúť prístup k vašim účtom.
Overuje tento nástroj podpis JWT?
Tento nástroj dekóduje a zobrazí obsah tokenu. Overenie podpisu vyžaduje tajný kľúč (HMAC) alebo verejný kľúč (RSA/ECDSA), ktorý by mal zostať na vašom serveri. Nástroj zobrazuje použitý algoritmus, ale nemôže overiť bez kľúča.
Čo znamenajú štandardné tvrdenia JWT?
iss = vydavateľ, sub = predmet (ID používateľa), exp = čas vypršania platnosti (časová pečiatka Unix), iat = vydané o, nbf = nie skôr, aud = publikum, jti = ID JWT. Vlastné nároky môžu obsahovať akékoľvek údaje špecifické pre aplikáciu.
Prečo môže niekto dekódovať JWT?
JWT sú kódované, nie šifrované. Užitočné zaťaženie je zakódované pomocou Base64URL (nie je šifrované), takže si ho môže prečítať každý. Podpis zabraňuje manipulácii, nie čítaniu. Nikdy neukladajte citlivé údaje (heslá, SSN) v užitočných zaťaženiach JWT.
Prečo na niektorých tokenoch chýba podpis?
Tokeny s alg: žiadne nemajú podpis. Sú platnými JWT podľa špecifikácie, ale neposkytujú žiadne záruky pravosti a nemali by byť akceptované vo výrobe.
Sú JWT šifrované?
Štandardné užitočné zaťaženia JWT sú podpísané, ale nie šifrované. JWE (JSON Web Encryption, RFC 7516) je samostatný formát pre šifrované tokeny. Väčšina JWT vo voľnej prírode sú JWS (iba podpísané).
Je môj token nahraný na server?
Nie. Dekódovanie prebieha vo vašom prehliadači; token neopustí vaše zariadenie.
Ako dlho sú JWT zvyčajne?
Kdekoľvek od niekoľkých stoviek až po niekoľko tisíc znakov. Dĺžka závisí od počtu a veľkosti nárokov plus dĺžka podpisu (ktorá závisí od algoritmu).