Vad är en JSON Web Token (JWT)?
En JSON Web Token (JWT) är en kompakt och fristående standard för att säkert överföra information mellan parter som ett JSON-objekt. Informationen kan verifieras och litas på eftersom den är digitalt signerad. En JWT består av tre delar, separerade av punkter (.):
- Huvud (Header): Den första delen specificerar typen av token, vilket är
JWT, och vilken signeringsalgoritm som används, till exempelHS256ellerRS256. Detta JSON-objekt kodas sedan med Base64url för att bilda den första delen av JWT:n.
- Nyttolast (Payload): Den andra delen innehåller anspråken (claims). Anspråk är påståenden om en entitet (vanligtvis en användare) och ytterligare data. Det finns standardiserade anspråk som
iss(utfärdare),exp(förfallotid) ochsub(ämne). Även nyttolasten är ett Base64url-kodat JSON-objekt.
- Signatur (Signature): För att skapa signaturen tar man det kodade huvudet, den kodade nyttolasten, en hemlighet (secret), och signerar dem med den algoritm som specificerats i huvudet. Signaturen används för att verifiera att meddelandet inte har ändrats på vägen.
Eftersom huvudet och nyttolasten endast är kodade, inte krypterade, kan vem som helst läsa deras innehåll. En JWT-avkodare som denna gör just det: den tar en JWT-sträng, delar upp den och utför Base64url-avkodning på de två första delarna för att visa dig informationen i ett läsbart format. Den presenterar sedan de avkodade delarna som snyggt formaterad JSON, vilket kan vara till stor hjälp vid felsökning.