JWT dekoder

Dekodirajte JWT zaglavlja i korisne terete u trenu, izravno u svom pregledniku.

Zalijepite svoj JWT
Spremno. Zalijepite JWT kako biste ga dekodirali.

Vaš se žeton dekodira u Vašem pregledniku. Ništa se ne prenosi na BroBroGo.

Česta pitanja

Je li sigurno zalijepiti moj JWT ovdje?

Da. Dekodiranje se odvija u potpunosti u Vašem pregledniku — Vaš se žeton nikada ne šalje na BroBroGo.

Provjerava li ovo potpis?

Ne. On samo dekodira zaglavlje i korisni teret (payload) kako biste ih mogli pročitati. Za provjeru potpisa potrebna je tajna potpisivanja ili javni ključ, što ovaj alat nikada ne traži.

Kako mogu znati je li moj žeton istekao?

Dekoder čita tvrdnju (claim) 'exp' i prikazuje statusnu značku — valjano, isteklo, još nije valjano ili bez isteka — pored dekodiranog žetona.

Struktura i uloga JSON Web Tokena (JWT)

JSON Web Token (JWT) je kompaktni i neovisni format za siguran prijenos informacija između strana u obliku JSON objekta. Token se sastoji od tri zasebna dijela koji su međusobno odvojeni točkom. Ti dijelovi su:

  1. Zaglavlje: Sadrži metapodatke o samom žetonu, prvenstveno informacije o algoritmu koji se koristi za potpisivanje i vrsti žetona.
  2. Korisni teret: Sadrži stvarne podatke ili tvrdnje (claims) o subjektu i dodatne metapodatke.
  3. Potpis (Signature): Služi za provjeru integriteta žetona i potvrdu da pošiljatelj odgovara onome tko je žeton potpisao.

Svaki od ovih dijelova kodiran je pomoću Base64URL formata kako bi se osigurao siguran prijenos unutar URL-ova, HTTP zaglavlja i drugih tekstualnih okruženja.

Base64URL kodiranje i JSON format

Base64URL je varijacija standardnog Base64 kodiranja koja zamjenjuje znakove koji nisu sigurni za URL-ove (poput + i /) znakovima - i _, te uklanja znakove dopune (=). To omogućuje prijenos žetona bez potrebe za dodatnim kodiranjem unutar mrežnih protokola.

Iza Base64URL kodiranja u zaglavlju i korisnom teretu nalazi se strukturirani JSON format. JSON omogućuje jasan prikaz podataka u obliku parova ključ-vrijednost, što olakšava čitanje i obradu informacija nakon što se izvrši dekodiranje.


Zaglavlje i korisni teret: Ključne tvrdnje i metapodaci

Zaglavlje i korisni teret sadrže standardizirane i prilagođene tvrdnje koje definiraju ponašanje i svojstva žetona.

Zaglavlje

U zaglavlju se definiraju tehnički parametri žetona. Najčešće tvrdnje u ovom dijelu su:

  • alg: Označava algoritam koji se koristi za potpisivanje žetona (npr. HS256, RS256).
  • typ: Označava vrstu žetona, što je u ovom slučaju najčešće "JWT".

Korisni teret

Korisni teret sadrži tvrdnje koje nose informacije o korisniku, autorizacijskim pravima i vremenskom okviru valjanosti žetona. Standardne vremenske tvrdnje uključuju:

  • iat (Issued At): Vrijeme u kojem je žeton izdan, prikazano kao Unix vremenska oznaka.
  • exp (Expiration Time): Vrijeme nakon kojeg žeton više ne vrijedi, također prikazano kao Unix vremenska oznaka.

Razlika između dekodiranja i verifikacije

Dekodiranje i verifikacija dva su potpuno različita procesa u radu s JWT-om:

  • Dekodiranje je isključivo proces prevođenja Base64URL kodiranog niza natrag u čitljiv JSON format. Za dekodiranje nije potrebna nikakva tajna niti javni ključ. Svatko tko ima pristup žetonu može vidjeti njegov sadržaj jednostavnim dekodiranjem.
  • Verifikacija je proces provjere autentičnosti i integriteta žetona. Ona zahtijeva provjeru potpisa pomoću tajnog ključa (kod simetričnog šifriranja) ili javnog ključa (kod asimetričnog šifriranja). Bez verifikacije potpisa ne može se jamčiti da podaci u žetonu nisu izmijenjeni nakon izdavanja.

Sigurnosne implikacije

Budući da dekodiranje ne provjerava potpis, oslanjanje isključivo na dekodirane podatke bez verifikacije u produkcijskim sustavima predstavlja ozbiljan sigurnosni rizik. Zlonamjerni korisnik može izmijeniti sadržaj korisnog tereta i ponovno kodirati žeton. Ako sustav ne verificira potpis, prihvatit će lažne podatke kao valjane.


Rad s alatom JWT dekoder

Alat "JWT dekoder" namijenjen je programerima, inženjerima podrške i stručnjacima za sigurnost koji trebaju brzo pregledati sadržaj žetona, provjeriti metapodatke ili analizirati vremenske oznake.

Ulazni podaci i pravila validacije

Alat prihvaća tekstualni unos koji predstavlja JSON Web Token. Prilikom unosa primjenjuju se sljedeća pravila:

  • Unos mora sadržavati točno tri dijela odvojena točkom. Ako to nije slučaj, prikazuje se poruka: "Nije valjan JWT — očekuju se tri dijela odvojena točkom".
  • Ako je unos predug, sustav prikazuje poruku: "To je predugo da bi bio stvarni JWT".
  • Ako je polje za unos prazno, alat ostaje u stanju "Spremno. Zalijepite JWT kako biste ga dekodirali.".
  • Kada se unos očisti klikom na gumb "Očisti", fokus se automatski vraća na polje za unos, a na zaslonu se prikazuje poruka "Očišćeno.".

Obrada pogrešaka pri dekodiranju

Ako žeton ima ispravnu strukturu od tri dijela, ali sadrži neispravne podatke, alat će prikazati specifične poruke o pogreškama i sakriti područja s dekodiranim podacima:

  • U slučaju neispravnog Base64URL formata u zaglavlju: "Nije moguće dekodirati zaglavlje — nevažeći Base64URL".
  • U slučaju neispravnog Base64URL formata u korisnom teretu: "Nije moguće dekodirati korisni teret — nevažeći Base64URL".
  • Ako dekodirano zaglavlje ne predstavlja ispravan JSON: "Zaglavlje nije valjan JSON.".
  • Ako dekodirani korisni teret ne predstavlja ispravan JSON: "Korisni teret nije valjan JSON.".

Prikaz rezultata i statusa

Nakon uspješnog dekodiranja, alat prikazuje poruku "Žeton (token) je dekodiran." i nudi detaljan pregled sljedećih informacija:

Polje Opis
Zaglavlje Dekodirano zaglavlje prikazano u strukturiranom JSON formatu.
Korisni teret (payload) Dekodirani korisni teret prikazano u strukturiranom JSON formatu.
Algoritam Vrijednost izvučena iz tvrdnje alg u zaglavlju.
Vrsta Vrijednost izvučena iz tvrdnje typ u zaglavlju.
Izdano u Vrijeme izdavanja izvučeno iz tvrdnje iat.
Istječe Vrijeme isteka izvučeno iz tvrdnje exp.
Znakovi Ukupan broj znakova u unesenom JWT-u.

Status valjanosti

Alat analizira vremensku tvrdnju o isteku (exp) i prikazuje odgovarajuću statusnu značku:

  • Valjano: Ako je trenutno vrijeme prije vremena definiranog u tvrdnji exp.
  • Isteklo: Ako je trenutno vrijeme prošlo vrijeme definiranog u tvrdnji exp.
  • Još nije valjano: Ako je žeton konfiguriran za buduću upotrebu.
  • Bez isteka: Ako žeton uopće ne sadrži tvrdnju exp.

Uz status se prikazuje i napomena: "Ovo provjerava samo tvrdnju 'exp' — ne verificira potpis, izdavatelja niti publiku.".


Privatnost i lokalna obrada podataka

Obrada i dekodiranje Vašeg žetona odvija se lokalno u Vašem web pregledniku. Uneseni podaci se ne šalju na poslužitelje niti se prenosi bilo kakav sadržaj na BroBroGo. To omogućuje rad s tokenima bez slanja osjetljivih informacija preko mreže.


Često postavljana pitanja (FAQ)

Je li sigurno zalijepiti moj JWT ovdje?

Da. Dekodiranje se odvija u potpunosti u Vašem pregledniku — Vaš se žeton nikada ne šalje na BroBroGo.

Provjerava li ovo potpis?

Ne. On samo dekodira zaglavlje i korisni teret (payload) kako biste ih mogli pročitati. Za provjeru potpisa potrebna je tajna potpisivanja ili javni ključ, što ovaj alat nikada ne traži.

Kako mogu znati je li moj žeton istekao?

Dekoder čita tvrdnju (claim) 'exp' i prikazuje statusnu značku — valjano, isteklo, još nije valjano ili bez isteka — pored dekodiranog žetona.