Terug naar begrippenlijst

Token-Based Authentication

Token-Based Authentication is een moderne manier om gebruikers te identificeren en toegang te geven tot een applicatie of dienst. In plaats van bij elke actie opnieuw gebruikersgegevens op te slaan of sessies bij te houden, krijg je één digitaal token: een soort toegangsbewijs. Dat token neem je mee bij elke volgende aanvraag, net zolang als het geldig is. Zie het als een festivalbandje: je laat bij de ingang je ticket (gebruikersgegevens) zien, krijgt een polsbandje (token) en kunt daarna vrij bewegen tussen de podia (pagina’s of API’s) zolang het bandje geldig is.

Geschreven door Thijn de Haas

Zwaaiende emoji

Thijn Lead developer

Meer over Thijn

Inhoudsopgave

Weg met traditionele sessies: Welkom tokens

Traditionele sessie-authenticatie slaat gegevens op aan de serverkant. Dat werkt, maar het betekent wel dat je server moet bijhouden wie je bent en waar je was. En dat kan complex en foutgevoelig zijn, zeker als je systeem moet opschalen of meerdere applicaties met elkaar wil laten praten.

Token-Based Authentication pakt het anders aan. Bij een succesvolle login ontvang je een token, vaak in de vorm van een JSON Web Token (JWT). Deze bewaar je lokaal, bijvoorbeeld in localStorage of als cookie, en stuur je mee met elke aanvraag. De server hoeft niks op te slaan: die controleert het token en weet meteen wie je bent en wat je mag doen.

Veilig én schaalbaar

Token-based systemen zijn uitermate geschikt voor moderne, schaalbare applicaties. Vooral in situaties waarin je met API’s werkt, mobiele apps koppelt of een single-page webapp (SPA) bouwt. Je hoeft geen sessies te beheren en de authenticatie werkt soepel over meerdere systemen heen.

Een token kan versleuteld zijn, een vervaldatum bevatten en extra metadata meenemen zoals toegangsrechten. Daarmee houd je het veilig én flexibel. Is een token gestolen of verlopen? Dan is toegang simpelweg niet meer mogelijk.

Veelgestelde vragen

Bij sessies bewaart de server wie je bent. Bij tokens wordt die informatie in het token zelf opgeslagen en hoeft de server dat niet apart bij te houden.

Een JWT is een populaire vorm van token, opgebouwd uit drie delen: header, payload en signature. Het is compact, versleuteld en makkelijk te verifiëren.

Dat bepaal je zelf. Meestal is een token een paar minuten tot enkele uren geldig. Voor langere toegang worden refresh tokens gebruikt.

Ja, mits goed geïmplementeerd. Gebruik HTTPS, bewaar tokens veilig (niet in localStorage bij gevoelige info) en stel een vervaltijd in.

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