raatools/

JWT Dekoder

Zalijepite JWT za dekodiranje i pregled zaglavlja, sadržaja i zahtjeva.

Što je JWT?

JSON Web Token (JWT, izgovara se „džot

JWT se sastoji od tri Base64URL-kodirana dijela odvojena točkama: zaglavlja, tereta i potpisa. Zaglavlje specificira algoritam potpisivanja (npr. HS256, RS256). Teret sadrži tvrdnje — parove ključ-vrijednost s informacijama poput korisničkog ID-a, ovlaštenja i vremena isteka. Potpis osigurava da token nije modificiran.

Uobičajene JWT tvrdnje

  • sub: sub (Subjekt): Identificira nositelja — obično korisnički ID ili e-mail adresu.
  • iat: iat (Issued At — Izdano u): Unix vremenski žig koji označava kada je token kreiran.
  • exp: exp (Expiration — Istjecanje): Unix vremenski žig nakon kojeg token više nije valjan.
  • iss: iss (Issuer — Izdavač): Identificira tko je izdao token (npr. vaš autentikacijski poslužitelj).
  • aud: aud (Audience — Publika): Identificira namjeravane primatelje tokena (npr. vaš API).

Kako koristiti ovaj alat

Zalijepite JWT u polje za unos. Alat odmah dekodira zaglavlje i teret, prikazujući tvrdnje u čitljivom formatu. Vremena isteka pretvaraju se u datume čitljive za ljude. Alat također provjerava strukturu tokena i ukazuje ako je format nevaljani.

Je li sigurno zalijepiti moj JWT ovdje?

Da. Ovaj alat dekodira JWT potpuno u vašem pregledniku koristeći JavaScript. Nikakvi podaci nisu poslani ni na jedan poslužitelj. Međutim, JWT-ovi bi uvijek trebali biti tretirani kao osjetljive vjerodajnice — nikada ne dijelite produkcijske tokene javno, ne postavljajte ih u poruke u chatu niti ih pohranjujte u kontrolu verzija.

Kako funkcionira JWT autentikacija

Kada se korisnik prijavi, poslužitelj kreira JWT koji sadrži identitet i ovlaštenja korisnika, potpisuje ga tajnim ključem i vraća ga klijentu. Klijent uključuje taj token u Authorization zaglavlje sljedećih API zahtjeva. Poslužitelj provjerava potpis kako bi se uvjerio da je token autentičan i da nije modificiran.

Ovaj pristup je bez stanja — poslužitelju nije potrebno pohranjivati podatke o sesiji u bazu podataka. Sve potrebne informacije ugrađene su u sam token. To JWT-ove čini idealnima za distribuirane sustave, mikro-uslužne arhitekture i serverless aplikacije gdje je dijeljeno stanje teško upravljati.

Česte greške s JWT-om

Pohrana osjetljivih podataka (lozinki, brojeva kreditnih kartica) u JWT teretu kritična je greška. Teret je samo Base64-kodiran, a ne enkriptiran — svaki tko ima token može ga dekodirati i pročitati. Pohranjujte samo identifikatore i ne-osjetljive tvrdnje u JWT-ovima.

Korištenje pretjerano dugih vremena isteka još je jedna uobičajena greška. Token koji vrijedi 30 dana daje napadaču 30 dana za korištenje ukradenog tokena. Održavajte kratke vijeke pristupnih tokena (5–15 minuta) i koristite tokene za osvježavanje za dugotrajne sesije.

Često postavljana pitanja

Koja je razlika između HS256 i RS256?

HS256 koristi dijeljenu simetričnu tajnu — isti ključ potpisuje i provjerava token. RS256 koristi asimetričan par ključeva — privatni ključ potpisuje, a javni ključ provjerava. RS256 je preferiran za distribuirane sustave jer ključ za provjeru može biti javno dijeljen bez ugrožavanja sigurnosti.

Može li se JWT opozvati?

JWT-ovi su bez stanja pa se ne mogu izravno opozvati. Uobičajeni zaobilazni načini uključuju održavanje popisa blokiranih opozvanih ID-ova tokena na strani poslužitelja, korištenje kratkih vremena isteka ili rotaciju ključeva za potpisivanje. Za potrebe trenutačnog opoziva, razmotrite korištenje neprozirnih tokena s pohranom sesije na strani poslužitelja.