Terug naar begrippenlijst

JSON Web Token (JWT)

JWT staat voor JSON Web Token en is een compacte, versleutelde manier om informatie veilig uit te wisselen tussen systemen. In de praktijk wordt het vaak gebruikt voor authenticatie: wanneer een gebruiker inlogt, krijgt die een token mee die dient als bewijs van identiteit bij volgende verzoeken. JWT is een digitale toegangskaart die je meeneemt zolang je sessie geldig is. Ideaal voor moderne software-toepassingen die snel, schaalbaar én veilig willen blijven.

Geschreven door Thijn de Haas

Zwaaiende emoji

Thijn Lead developer

Meer over Thijn

Inhoudsopgave

Eén keer bewijzen, daarna gewoon doorlopen

Wanneer een gebruiker inlogt op een webapplicatie, wordt er op de server een JWT aangemaakt. Die bevat versleutelde informatie, zoals een gebruikers-ID, een rol (bijvoorbeeld admin of user), en een verloopdatum. Deze token wordt daarna opgeslagen in bijvoorbeeld localStorage of een browser-cookie.

Bij elk volgend verzoek stuurt de browser die token automatisch mee. De server hoeft dus niet elke keer opnieuw te checken in een database of je bent wie je zegt dat je bent. Sneller, schaalbaarder en veiliger – perfect voor cloudgebaseerde software.

Wat zit er in een JSON Web Token?

Een JWT bestaat uit drie delen:

  • Header: Welke algoritmes zijn gebruikt?
  • Payload: De daadwerkelijke informatie (bijv. user ID, rechten, tijdstempel).
  • Signature: Een cryptografische handtekening die controleert of het token geldig en onveranderd is.

Samen vormen ze een gecodeerde string. Zonder de juiste sleutel kun je die token niet vervalsen en dat maakt JWT geschikt voor beveiligde communicatie binnen je softwareomgeving.

Geen sessie nodig om te weten wie je bent

JWT is ideaal voor stateless authenticatie: de server hoeft geen sessies op te slaan en de gebruiker kan op meerdere apparaten of platformen tegelijkertijd ingelogd blijven.

Denk aan:

  • Single Sign-On (SSO)
  • API-authenticatie
  • Mobile apps
  • Server-to-server communicatie

Vooral in moderne softwarearchitecturen, zoals microservices of serverless toepassingen, komt JWT goed tot zijn recht. Maar het is geen magische oplossing. Je moet scherp blijven op beveiliging, zoals versleuteling, expiratie en veilige opslag.

Veelgestelde vragen

Niet helemaal. Een API key is meestal statisch. Een JWT bevat dynamische, versleutelde informatie en heeft meestal een beperkte geldigheidsduur.

Vaak in localStorage, sessionStorage of een veilige cookie. Dit is afhankelijk van de eisen van je software en je beveiligingsstrategie.

Dat bepaal je zelf. Vaak tussen de 15 minuten en een paar uur. Daarna moet je een nieuwe token ophalen (via een refresh token, bijvoorbeeld).

Ja, mits goed geïmplementeerd. Denk aan HTTPS, short-lived tokens, geen gevoelige data in de payload en veilige opslag.

Thijn de Haas Lead developer

Meer over Thijn

Mijn programmeeravontuur begon rond mijn twaalfde, toen ik ontdekte dat je met code vrijwel alles kunt maken. Ik begon met het bouwen van kleine projecten en startte al snel mijn eigen hostingdienst, wat me veel leerde over maatwerkcode, serverbeheer en het koppelen aan websites. Deze kennis pas ik nu dagelijks toe in mijn werk aan websites en applicaties.

Als student Applicatieontwikkelaar liep ik drie stages bij Wux, waarbij ik tijdens de eerste stage mijn eerste bedrijf startte, deels op advies van Bo. Deze ervaringen vormden het fundament van mijn rol als lead developer en mede-eigenaar van Wux. Met een constante interesse in nieuwe technieken en het meedenken naar de beste oplossingen, zet ik mijn expertise dagelijks in om complexe vraagstukken op te lossen samen met mijn team.

Twee mannen in overleg tijdens het werk achter hun computerschermen
Zwaaiende emoji

Thijn Back-end developer

Op zoek naar slimme software-oplossingen die jouw bedrijf efficiënter maken?

Het team van Wux ontwikkelt maatwerk software die aansluit bij jouw behoeften. Neem vandaag nog contact op en ontdek hoe we jouw bedrijf elke dag succesvoller kunnen maken.

Meer over software