Zoek tools

Snel tools zoeken

JWT aanmaken

Maak en onderteken JWT-tokens, ondersteunt meerdere handtekeningalgoritmen.100% lokale verwerking, geen uploads, geen risico.

Laat leeg om de exp-waarde in de lading te gebruiken

Wat is JWT?
JWT (JSON Web Token) is een open standaard (RFC 7519) die een compacte en zelfstandige manier definieert om informatie veilig tussen partijen te verzenden. Deze informatie kan worden geverifieerd en vertrouwd omdat deze digitaal is ondertekend.
Structuur van JWT
JWT bestaat uit drie delen, gescheiden door punten (.): header (Header), lading (Payload) en handtekening (Signature). De header specificeert het handtekeningalgoritme, de lading bevat claims en de handtekening wordt gebruikt om te verifiëren dat het bericht niet is gewijzigd.
Veelvoorkomende gebruiksscenario's voor JWT
Authenticatie (meest voorkomende scenario), informatie-uitwisseling (JWT's kunnen informatie veilig verzenden omdat ze ondertekend kunnen worden), autorisatie (bevat gebruikersmachtigingen) en implementatie van eenmalige aanmelding.
Typen handtekeningalgoritmen
JWT ondersteunt verschillende handtekeningalgoritmen, voornamelijk verdeeld in twee categorieën: op HMAC gebaseerde symmetrische algoritmen (zoals HS256) en op RSA/ECDSA gebaseerde asymmetrische algoritmen (zoals RS256, ES256). Symmetrische algoritmen gebruiken dezelfde sleutel voor ondertekenen en verifiëren, asymmetrische algoritmen gebruiken een privésleutel voor ondertekenen en een publieke sleutel voor verifiëren.
Veiligheidstips
Sla geen gevoelige informatie op (zoals wachtwoorden) in JWT, omdat de lading van JWT alleen Base64-gecodeerd is, niet versleuteld. Voor toepassingen die hoge veiligheid vereisen, wordt aanbevolen om een korte vervaltijd te gebruiken en een tokenrotatiestrategie te implementeren.
Wat te doen als JWT is verlopen?
Wanneer een JWT is verlopen, zal de server dit token weigeren. De aanbevolen aanpak is het implementeren van een vernieuwingstoken (Refresh Token) mechanisme, waarbij de client een vernieuwingstoken gebruikt om een nieuw toegangstoken te verkrijgen, zonder dat de gebruiker opnieuw hoeft in te loggen. Vernieuwingstokens hebben meestal een langere geldigheidsduur, maar moeten zorgvuldig worden opgeslagen.
Hoe JWT in te trekken?
Strikt genomen is JWT ontworpen als een stateless token en kan het niet echt worden ingetrokken. Er zijn echter enkele veelvoorkomende oplossingen: het bijhouden van een zwarte lijst van ingetrokken tokens (wat het stateless voordeel van JWT kan tenietdoen), het gebruik van korte vervaltijden in combinatie met vernieuwingstokens, of het inbedden van een versie-ID in het token, waardoor de server oudere versies kan weigeren.
Verschil tussen JWT en sessie?
JWT is een zelfstandig token dat alle benodigde informatie bevat, geschikt voor gedistribueerde systemen, zonder dat serversessiestatus hoeft te worden opgeslagen. Sessie is gebaseerd op serveropslag, vereist het onderhouden van sessiestatus en is beter geschikt voor single-server architecturen. JWT is vriendelijker voor schaalbaarheid, maar intrekken is complex; sessie is gemakkelijk in te trekken, maar minder schaalbaar.