JWT-generator
Maak ondertekende JSON Web Tokens met aangepaste header, payload en sleutel. Ondersteunt HS256, RS256, ES256.
Wat is een JWT?
JWT (JSON Web Token, RFC 7519) is een open standaard voor het veilig verzenden van informatie als compact JSON-object. Bestaat uit drie delen gescheiden door punten: Header.Payload.Signature.
Wat zijn de veelvoorkomende gebruikscases van JWT?
JWT wordt breed gebruikt voor authenticatie (single sign-on), API-autorisatie en veilige informatie-uitwisseling. Na login verstrekt de server een JWT die de client meestuurt in volgende verzoeken.
Hoe kies ik tussen HS256, RS256 en ES256?
HS256 gebruikt een gedeeld geheim en is het snelst, geschikt voor enkele diensten. RS256 gebruikt RSA-sleutelparen, beter voor multi-service architecturen. ES256 gebruikt elliptic curve-sleutels met korte handtekeningen en hoge beveiliging.
Wat zijn JWT claims?
Claims zijn verklaringen in de payload. Geregistreerde claims omvatten iss (uitgever), sub (onderwerp), exp (vervaltijd), aud (publiek). Publieke claims kunnen bij IANA worden geregistreerd. Privé-claims zijn aangepaste velden.
Hoe verifieer ik een JWT?
Decodeer de header om het algoritme te verkrijgen, gebruik dan de juiste sleutel (gedeeld geheim voor HMAC, publieke sleutel voor RSA/ECDSA) om de handtekening te verifiëren. Controleer ook exp, iss en aud.
Is het veilig om JWTs in de browser te genereren?
Ja, deze tool gebruikt de Web Crypto API. Uw sleutels en tokens verlaten nooit de browser. Er worden geen gegevens naar servers verzonden.
Wat is het verschil tussen coderen en ondertekenen?
Coderen (Base64) converteert gegevens alleen naar een verzendbaar formaat en is door iedereen omkeerbaar. Ondertekenen creëert een cryptografische hash die bewijst dat het token niet is gewijzigd.
Kan een JWT worden versleuteld?
Ja, JWE (JSON Web Encryption) versleutelt de payload-inhoud. Standaard JWT (JWS) garandeert alleen integriteit, maar de payload is leesbaar voor iedereen die het token heeft.
Wat zijn de beste beveiligingspraktijken voor JWT?
Stel altijd korte vervaltijden in. Gebruik sterke, willekeurige geheimen voor HMAC. Bewaar privésleutels veilig. Plaats geen gevoelige gegevens in de payload. Gebruik HTTPS in productie.
Hoe verhoudt JWT zich tot sessiegebaseerde authenticatie?
JWT is stateless — de server slaat geen sessiegegevens op, ideaal voor microservices en cross-domain scenario's. Sessies vereisen serveropslag maar maken directe intrekking mogelijk.
Is JWT geschikt voor logout en sessiebeheer?
JWT is stateless by design, dus logout vereist extra mechanismen zoals blocklists of kortlevende tokens met refresh tokens. Gebruik kortlevende access tokens (bijv. 15 minuten).
Hoe werkt het refresh token patroon met JWT?
Gebruik een kortlevend access token (JWT) voor API-aanroepen en een langer levend refresh token om nieuwe access tokens te verkrijgen. Wanneer het access token verloopt, stuurt de client het refresh token voor een nieuw JWT.
Wat is het "none" algoritme?
Het "none" algoritme betekent dat de JWT niet is ondertekend. Gebruik alleen voor testen. Veel bibliotheken schakelen het standaard uit om veiligheidsredenen.
Zijn er groottebeperkingen voor JWT?
JWT heeft geen vaste grootte limiet, maar omdat het in HTTP-headers wordt verzonden, moet het onder 4KB blijven. Houd de payload minimaal.