0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Instellingen
Genereert en decodeert JSON Web Tokens (JWT) met HS256, HS384, HS512, RS256 en RS512 algoritmen. In Generate, voltooi de JSON-payload en geheime sleutel om het token te maken. In Read, plak je een bestaand token om de header, payload te inspecteren en de handtekening te verifiëren.

HMAC met SHA-256. Gedeelde symmetrische sleutel. Aanbevolen voor algemeen gebruik.

Geheime Sleutel
Ingang

Hoe het werkt

Een JSON Web Token (JWT) is een compact, ondertekend token dat informatie (claims) tussen twee partijen vervoert. Het bestaat uit drie delen gescheiden door punten —header, payload en handtekening—, elk Base64URL-gecodeerd.

In de modus Genereren definieer je de header en payload in JSON en onderteken je met een geheime sleutel (HMAC) of een privésleutel (RSA/ECDSA). In de modus Lezen plak je een bestaand token om de inhoud te inspecteren en de handtekening te verifiëren.

De payload is niet versleuteld: iedereen kan hem lezen door de Base64URL te decoderen. De handtekening garandeert alleen dat het token niet is gewijzigd, hij verbergt het niet. Zet nooit gevoelige gegevens in een JWT.

Voorbeelden

header{"alg":"HS256","typ":"JWT"} → eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
payload{"sub":"1234567890","name":"John Doe","iat":1516239022} → eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
tokeneyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cDe handtekening (derde deel) hangt af van het algoritme en de sleutel; dit voorbeeld gebruikt HS256 met de sleutel "your-256-bit-secret".

Gebruiksscenario's

  • Gebruikers authenticeren in API's: de server geeft een ondertekend token uit en valideert het bij elk verzoek zonder een sessie op te slaan.
  • Authenticatietokens inspecteren en debuggen om hun claims (sub, exp, rollen) en datums te zien.
  • De handtekening van een token verifiëren met de geheime sleutel of de openbare sleutel om te bevestigen dat er niet mee is geknoeid.
  • Test-tokens genereren met verschillende algoritmen (HMAC, RSA, ECDSA) bij het ontwikkelen van een authenticatieflow.

Veelgestelde vragen

Is de inhoud van een JWT versleuteld?

Nee. De header en payload zijn alleen Base64URL-gecodeerd, wat iedereen kan decoderen. De handtekening garandeert integriteit (dat het niet is gewijzigd), geen vertrouwelijkheid.

Wat is het verschil tussen HS256 en RS256?

HS256 gebruikt één gedeelde geheime sleutel om te ondertekenen en te verifiëren (HMAC). RS256 is asymmetrisch: het ondertekent met een privésleutel en verifieert met de openbare, ideaal wanneer veel diensten moeten valideren zonder te kunnen uitgeven.

Wat betekenen de claims iat, exp en nbf?

Het zijn standaardtijdstempels: iat (uitgegeven op), exp (verloopt op) en nbf (niet geldig vóór). Ze worden uitgedrukt in seconden sinds 1970 (Unix-epoch).

Waarom wordt het algoritme "none" afgeraden?

Omdat het een niet-ondertekend token oplevert: iedereen kan de payload wijzigen en het wordt nog steeds geaccepteerd. Het is alleen nuttig om te testen, nooit in productie.

Wordt mijn token naar een server gestuurd?

Nee. Generatie, decodering en verificatie gebeuren volledig in je browser; het token en de sleutels verlaten nooit je apparaat.