MG Software.
HomeOver onsDienstenPortfolioBlogCalculator
Contact
MG Software
MG Software
MG Software.

MG Software ontwikkelt op maat gemaakte software, websites en AI-oplossingen die bedrijven helpen groeien.

© 2026 MG Software B.V. Alle rechten voorbehouden.

NavigatieDienstenPortfolioOver OnsContactBlogCalculator
DienstenOntwikkeling op maatSoftware koppelingenSoftware herontwikkelingApp laten ontwikkelenSEO & vindbaarheid
KennisbankKennisbankVergelijkingenVoorbeeldenAlternatievenTemplatesToolsOplossingenAPI-koppelingen
LocatiesHaarlemAmsterdamDen HaagEindhovenBredaAmersfoortAlle locaties
IndustrieënJuridischEnergieZorgE-commerceLogistiekAlle industrieën
MG Software.
HomeOver onsDienstenPortfolioBlogCalculator
Contact
MG Software
MG Software
MG Software.

MG Software ontwikkelt op maat gemaakte software, websites en AI-oplossingen die bedrijven helpen groeien.

© 2026 MG Software B.V. Alle rechten voorbehouden.

NavigatieDienstenPortfolioOver OnsContactBlogCalculator
DienstenOntwikkeling op maatSoftware koppelingenSoftware herontwikkelingApp laten ontwikkelenSEO & vindbaarheid
KennisbankKennisbankVergelijkingenVoorbeeldenAlternatievenTemplatesToolsOplossingenAPI-koppelingen
LocatiesHaarlemAmsterdamDen HaagEindhovenBredaAmersfoortAlle locaties
IndustrieënJuridischEnergieZorgE-commerceLogistiekAlle industrieën
MG Software.
HomeOver onsDienstenPortfolioBlogCalculator
Contact
MG Software
MG Software
MG Software.

MG Software ontwikkelt op maat gemaakte software, websites en AI-oplossingen die bedrijven helpen groeien.

© 2026 MG Software B.V. Alle rechten voorbehouden.

NavigatieDienstenPortfolioOver OnsContactBlogCalculator
DienstenOntwikkeling op maatSoftware koppelingenSoftware herontwikkelingApp laten ontwikkelenSEO & vindbaarheid
KennisbankKennisbankVergelijkingenVoorbeeldenAlternatievenTemplatesToolsOplossingenAPI-koppelingen
LocatiesHaarlemAmsterdamDen HaagEindhovenBredaAmersfoortAlle locaties
IndustrieënJuridischEnergieZorgE-commerceLogistiekAlle industrieën
MG Software.
HomeOver onsDienstenPortfolioBlogCalculator
Contact
  1. Home
  2. /Kennisbank
  3. /Wat is JWT? Betekenis en toepassing uitgelegd

Wat is JWT? Betekenis en toepassing uitgelegd

Van proof-of-concept tot productie: JWT verpakt gebruikersdata veilig in een ondertekend token voor stateless API-authenticatie zonder serversessies,…

JWT (JSON Web Token) is een open standaard (RFC 7519) voor het veilig overdragen van informatie tussen partijen als een compact, URL-veilig JSON-object. JWT's worden breed ingezet voor stateless authenticatie en autorisatie in moderne webapplicaties en API's. Het token bevat zelf alle claims die nodig zijn om een verzoek te verifiëren, waardoor een centrale sessiestore overbodig wordt en horizontale schaalbaarheid eenvoudiger is.

Wat is JWT? - Uitleg & Betekenis

Wat is JWT?

JWT (JSON Web Token) is een open standaard (RFC 7519) voor het veilig overdragen van informatie tussen partijen als een compact, URL-veilig JSON-object. JWT's worden breed ingezet voor stateless authenticatie en autorisatie in moderne webapplicaties en API's. Het token bevat zelf alle claims die nodig zijn om een verzoek te verifiëren, waardoor een centrale sessiestore overbodig wordt en horizontale schaalbaarheid eenvoudiger is.

Hoe werkt JWT technisch?

Een JWT bestaat uit drie delen, gescheiden door punten: header, payload en signature. De header bevat het tokentype (typ: "JWT") en het gebruikte ondertekeningsalgoritme (zoals HS256, RS256 of ES256). De payload bevat claims: geregistreerde claims (iss voor issuer, exp voor expiratie, sub voor subject, aud voor audience) en aangepaste claims die informatie over de gebruiker, rollen en rechten bevatten. De signature wordt berekend door de base64url-gecodeerde header en payload te combineren met een geheim (HMAC) of een privésleutel (RSA/ECDSA). Bij stateless authenticatie hoeft de server geen sessiedata op te slaan: alle benodigde informatie zit in het token zelf en wordt bij elk verzoek geverifieerd. Access tokens hebben een korte levensduur (doorgaans 5 tot 15 minuten) terwijl refresh tokens langer geldig zijn voor het verkrijgen van nieuwe access tokens. Refresh token rotation zorgt ervoor dat elk refresh token slechts eenmaal gebruikt kan worden, waardoor gestolen tokens sneller worden gedetecteerd. JWT's zijn ideaal voor microservice-architecturen omdat elke service het token onafhankelijk kan valideren met de publieke sleutel van de authenticatieservice, zonder een gedeelde database te raadplegen. JSON Web Key Sets (JWKS) publiceren publieke sleutels via een standaard endpoint, zodat services automatisch de juiste validatiesleutel ophalen en sleutelrotatie transparant verloopt. Belangrijke beveiligingsoverwegingen zijn: tokens altijd via HTTPS versturen, korte expiratie-tijden instellen, gevoelige data niet in de payload opnemen (base64 is geen encryptie), tokens veilig opslaan in httpOnly secure cookies in plaats van localStorage, audience en issuer claims valideren, en het "alg: none" probleem voorkomen door het ondertekeningsalgoritme server-side af te dwingen. JWE (JSON Web Encryption) versleutelt de gehele tokenpayload voor use cases waarbij de inhoud vertrouwelijk moet zijn, in tegenstelling tot JWS (JSON Web Signature) dat alleen integriteit garandeert. Token binding koppelt een JWT aan een specifiek TLS-certificaat van de client, waardoor gestolen tokens niet op andere apparaten bruikbaar zijn. Proof of Possession (DPoP) is een nieuwere RFC die een vergelijkbaar mechanisme biedt voor publieke clients. Bij het opschalen van microservice-architecturen wordt caching van JWKS-responses essentieel om de authenticatieservice niet te overbelasten, met een typische cache-TTL van 5 tot 60 minuten en een forced refresh bij onbekende key IDs. Token revocation blijft een uitdaging bij stateless tokens: veelgebruikte oplossingen zijn korte expiratie, een token blacklist in Redis of een combinatie met opaque reference tokens voor scenario's die onmiddellijke intrekking vereisen.

Hoe past MG Software JWT toe in de praktijk?

MG Software gebruikt JWT als standaard authenticatiemechanisme in onze API's en webapplicaties. We implementeren een access/refresh token-strategie met korte levensduur (10 minuten) voor access tokens en veilige httpOnly secure cookies voor refresh tokens met automatische rotation. In onze Supabase-integraties verwerken we JWT's voor Row Level Security: de database leest claims direct uit het token om autorisatie op rijniveau af te dwingen zonder extra API-calls. Voor microservice-architecturen gebruiken we JWT's ondertekend met RS256 of ES256 om verzoeken tussen services te authenticeren zonder een gedeelde sessiestore. We publiceren onze publieke sleutels via een JWKS-endpoint voor geautomatiseerde sleutelrotatie. Custom claims worden minimaal gehouden om de tokengrootte beheersbaar te houden en gevoelige data wordt nooit in de payload geplaatst. We implementeren token blacklisting via Redis voor scenario's waarin onmiddellijke invalidatie nodig is, zoals bij het resetten van wachtwoorden of het uitschakelen van accounts. Onze JWT-implementaties bevatten geautomatiseerde monitoring die waarschuwt bij ongebruikelijke patronen zoals een piek in verlopen tokens of tokens die van onbekende issuers afkomstig zijn.

Waarom is JWT belangrijk?

JWT maakt schaalbare authenticatie mogelijk in microservices en mobiele clients zonder centrale sessietabel per request. Als het ontwerp klopt, kunnen services onafhankelijk valideren en kunt u duidelijke expiratie, audience-controle en sleutelrotatie afdwingen voor toegang tot data. Voor organisaties die meerdere applicaties of API's aanbieden is JWT de standaard manier om identiteit en rechten over servicegrenzen heen te transporteren. De compacte, URL-veilige structuur maakt JWT geschikt voor HTTP-headers, query parameters en cross-domain communicatie. Een goed JWT-ontwerp vermindert de latency van authenticatie omdat validatie lokaal gebeurt met cryptografische verificatie in plaats van een roundtrip naar een sessieserver. Naarmate API-ecosystemen complexer worden met externe integraties en webhooks, biedt JWT een gestandaardiseerde manier om vertrouwen over organisatiegrenzen heen over te dragen.

Veelgemaakte fouten met JWT

Lange levensduur van access tokens combineren met opslag in localStorage, waar ze kwetsbaar zijn voor XSS-aanvallen. Gevoelige claims ondertekenen maar niet versleutelen terwijl clients de base64-gecodeerde payload gewoon kunnen lezen. Zwakke HMAC-secrets die in broncode staan en hetzelfde geheim voor alle omgevingen gebruiken. Het uitschakelen of niet valideren van exp-, aud- en iss-claims waardoor verlopen of verkeerd gerichte tokens worden geaccepteerd. Refresh tokens zonder rotation, waardoor een gestolen refresh token onbeperkt nieuwe access tokens kan ophalen. Tot slot het accepteren van het "alg: none" header-veld, waardoor aanvallers ongetekende tokens kunnen insturen die door een kwetsbare library als geldig worden beschouwd.

Welke voorbeelden zijn er van JWT?

  • Een webapplicatie die na inloggen een JWT access token retourneert met een geldigheidsduur van 10 minuten, waarna een refresh token via een httpOnly cookie automatisch een nieuw access token aanvraagt zonder dat de gebruiker opnieuw hoeft in te loggen.
  • Een microservice-architectuur waarbij elke service inkomende JWT-tokens valideert tegen de publieke sleutel van de authenticatieservice via een JWKS-endpoint, zonder een gedeelde database te raadplegen en met automatische sleutelrotatie.
  • Een mobiele app die JWT-tokens opslaat in de secure storage van het besturingssysteem (iOS Keychain of Android Keystore) en bij elk API-verzoek meestuurt in de Authorization-header met Bearer-prefix.
  • Een Supabase-backed applicatie waarbij de JWT custom claims bevat voor de gebruikersrol, zodat Row Level Security policies in PostgreSQL direct op basis van het token bepalen welke rijen een gebruiker mag lezen of wijzigen.
  • Een single sign-on omgeving waarbij een identity provider JWT-tokens uitgeeft die door meerdere applicaties worden geaccepteerd, met audience-validatie die voorkomt dat een token voor app A wordt hergebruikt bij app B.

Gerelateerde begrippen

api beveiligingtwee factor authenticatieencryptiezero trustcybersecurity

Meer lezen

KennisbankZo werkt Twee-Factor-Authenticatie: uitleg, voordelen en valkuilenOAuth 2.0 uitgelegd: autorisatie, tokens, scopes en veilig inloggen zonder wachtwoordenHet verschil tussen Auth0 en Clerk uitgelegdWanneer kies je NextAuth boven Clerk?

Gerelateerde artikelen

OAuth 2.0 uitgelegd: autorisatie, tokens, scopes en veilig inloggen zonder wachtwoorden

OAuth 2.0 maakt veilige toegang mogelijk tot API's en applicaties van derden zonder wachtwoorden te delen. Ontdek hoe het autorisatieprotocol achter "Inloggen met Google" werkt, welke flows er zijn en hoe je het veilig implementeert.

Een API-gateway uitgelegd: wat het is en waarom het belangrijk is

Goed om te weten: Een API Gateway fungeert als de voordeur van uw microservices: routing, rate limiting, authenticatie en monitoring op één centraal punt.

Zo werkt Twee-Factor-Authenticatie: uitleg, voordelen en valkuilen

Zo past het in je stack: Twee-factor-authenticatie voegt een extra beveiligingslaag toe naast wachtwoorden, bijvoorbeeld via authenticator-apps, SMS…

Het verschil tussen Auth0 en Clerk uitgelegd

Auth0 is de volwassen OIDC-gigant; Clerk shipt login-UI en webhooks alsof het frontend is. Welke matcht jouw compliance?

Veelgestelde vragen

JWT is veilig mits correct geïmplementeerd. Gebruik altijd sterke ondertekeningsalgoritmen (RS256 of ES256 boven HS256 voor publieke API's), stel korte expiratie-tijden in, verzend tokens uitsluitend via HTTPS en sla ze op in httpOnly secure cookies. Vermijd het opnemen van gevoelige data in de payload, want deze is base64-gecodeerd maar niet versleuteld. Valideer altijd audience, issuer en expiratie server-side. Overweeg JWE (JSON Web Encryption) als de payload gevoelige informatie moet bevatten die niet zichtbaar mag zijn voor derden.
Bij sessie-cookies slaat de server sessiedata op en stuurt alleen een sessie-ID naar de client. Bij JWT bevat het token zelf alle benodigde informatie (stateless). JWT is beter geschikt voor gedistribueerde systemen, API's en microservices, terwijl sessie-cookies eenvoudiger zijn voor traditionele webapplicaties met één server. Het nadeel van sessie-cookies is dat ze een gedeelde sessiestore vereisen bij horizontale schaling.
JWT's zijn inherent niet intrekbaar omdat ze stateless zijn en de server geen lijst van geldige tokens bijhoudt. Oplossingen zijn: korte expiratie-tijden gebruiken zodat tokens snel verlopen, een token blacklist bijhouden in Redis of een snelle database (wat deels het stateless voordeel vermindert), of token versioning via een claim die bij uitloggen wordt bijgewerkt. Refresh token rotation biedt een goede balans tussen beveiliging en prestaties.
Een JWKS (JSON Web Key Set) endpoint is een publiek toegankelijke URL die de publieke sleutels van een authenticatieservice beschikbaar stelt in een gestandaardiseerd JSON-formaat. Services die JWT-tokens moeten valideren halen de juiste sleutel op via dit endpoint, geïdentificeerd door het kid (key ID) veld in de token header. Dit maakt geautomatiseerde sleutelrotatie mogelijk zonder dat alle consumerende services handmatig moeten worden bijgewerkt.
HS256 is een symmetrisch algoritme dat hetzelfde geheim gebruikt voor ondertekening en verificatie. Dit is eenvoudig maar vereist dat elke service die tokens valideert het geheim kent, wat een beveiligingsrisico vormt. RS256 is asymmetrisch: de issuer ondertekent met een privésleutel en elke consument verifieert met de publieke sleutel. RS256 is veiliger voor publieke API's en microservice-architecturen omdat de privésleutel alleen bij de issuer hoeft te zijn.
Sla access tokens op in httpOnly secure cookies met SameSite-attributen om XSS en CSRF te beperken. Gebruik nooit localStorage voor tokens die toegang geven tot gevoelige data. Stel korte expiratie-tijden in zodat gestolen tokens snel verlopen. Implementeer refresh token rotation zodat elk refresh token slechts eenmaal bruikbaar is. Monitor op afwijkende token-patronen zoals tokens die vanuit meerdere IP-adressen tegelijk worden gebruikt.
Gebruik JWT wanneer services tokens lokaal moeten kunnen valideren zonder een roundtrip naar de authenticatieserver, zoals in microservice-architecturen en mobiele apps. Gebruik opaque tokens wanneer u volledige controle wilt over token-intrekking en de authenticatieserver bij elk verzoek kan worden geraadpleegd. Opaque tokens zijn eenvoudiger te revoken maar schalen minder goed. Veel systemen combineren beide: JWT voor service-to-service communicatie en opaque refresh tokens voor sessiebeheer.

Wij bouwen hier dagelijks mee

Dezelfde expertise die u leest, zetten wij in voor klanten.

Ontdek wat wij kunnen doen

Gerelateerde artikelen

OAuth 2.0 uitgelegd: autorisatie, tokens, scopes en veilig inloggen zonder wachtwoorden

OAuth 2.0 maakt veilige toegang mogelijk tot API's en applicaties van derden zonder wachtwoorden te delen. Ontdek hoe het autorisatieprotocol achter "Inloggen met Google" werkt, welke flows er zijn en hoe je het veilig implementeert.

Een API-gateway uitgelegd: wat het is en waarom het belangrijk is

Goed om te weten: Een API Gateway fungeert als de voordeur van uw microservices: routing, rate limiting, authenticatie en monitoring op één centraal punt.

Zo werkt Twee-Factor-Authenticatie: uitleg, voordelen en valkuilen

Zo past het in je stack: Twee-factor-authenticatie voegt een extra beveiligingslaag toe naast wachtwoorden, bijvoorbeeld via authenticator-apps, SMS…

Het verschil tussen Auth0 en Clerk uitgelegd

Auth0 is de volwassen OIDC-gigant; Clerk shipt login-UI en webhooks alsof het frontend is. Welke matcht jouw compliance?

MG Software
MG Software
MG Software.

MG Software ontwikkelt op maat gemaakte software, websites en AI-oplossingen die bedrijven helpen groeien.

© 2026 MG Software B.V. Alle rechten voorbehouden.

NavigatieDienstenPortfolioOver OnsContactBlogCalculator
DienstenOntwikkeling op maatSoftware koppelingenSoftware herontwikkelingApp laten ontwikkelenSEO & vindbaarheid
KennisbankKennisbankVergelijkingenVoorbeeldenAlternatievenTemplatesToolsOplossingenAPI-koppelingen
LocatiesHaarlemAmsterdamDen HaagEindhovenBredaAmersfoortAlle locaties
IndustrieënJuridischEnergieZorgE-commerceLogistiekAlle industrieën