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.
OAuth (Open Authorization) is een open standaard autorisatieprotocol waarmee applicaties beperkte toegang tot gebruikersaccounts op externe services kunnen verkrijgen zonder het wachtwoord van de gebruiker te kennen. OAuth 2.0, de huidige versie gepubliceerd als RFC 6749, wordt ondersteund door vrijwel elk groot platform waaronder Google, Microsoft, GitHub, Facebook en Apple. Het protocol vormt de basis van elke "Inloggen met..." flow op het moderne web en wordt uitgebreid door OpenID Connect voor authenticatie. OAuth 2.1, momenteel in ontwikkeling, consolideert best practices en verplicht PKCE voor alle clients.

OAuth (Open Authorization) is een open standaard autorisatieprotocol waarmee applicaties beperkte toegang tot gebruikersaccounts op externe services kunnen verkrijgen zonder het wachtwoord van de gebruiker te kennen. OAuth 2.0, de huidige versie gepubliceerd als RFC 6749, wordt ondersteund door vrijwel elk groot platform waaronder Google, Microsoft, GitHub, Facebook en Apple. Het protocol vormt de basis van elke "Inloggen met..." flow op het moderne web en wordt uitgebreid door OpenID Connect voor authenticatie. OAuth 2.1, momenteel in ontwikkeling, consolideert best practices en verplicht PKCE voor alle clients.
OAuth 2.0 definieert vier rollen: de Resource Owner (de gebruiker die toestemming geeft), de Client (de applicatie die toegang vraagt), de Authorization Server (verstrekt tokens na verificatie) en de Resource Server (beschermt de data en valideert tokens). Het protocol ondersteunt meerdere grant types voor uiteenlopende scenario's. De Authorization Code flow is het veiligst voor webapplicaties: de gebruiker wordt doorgestuurd naar de authorization server, geeft expliciet toestemming via een consent screen, en de client ontvangt een eenmalige authorization code die server-side wordt ingewisseld voor een access token en optioneel een refresh token. PKCE (Proof Key for Code Exchange, RFC 7636) voegt een cryptografische challenge toe die voorkomt dat onderschepte authorization codes misbruikt worden, en is verplicht voor publieke clients zoals mobiele apps en Single Page Applications. De Client Credentials flow is bedoeld voor machine-to-machine communicatie zonder gebruikersinteractie, zoals backend-services die onderling data uitwisselen. De Device Authorization Grant (RFC 8628) is ontworpen voor apparaten zonder browser, zoals smart TV's en IoT-devices. Access tokens hebben bewust een korte levensduur (typisch 15 tot 60 minuten) en worden ververst via refresh tokens met langere levensduur die veilig server-side worden opgeslagen. Token-rotatie bij elke refresh voorkomt hergebruik van gestolen refresh tokens. Scopes beperken de toegangsrechten tot specifieke API-resources: een applicatie kan bijvoorbeeld alleen lees-toegang tot een agenda vragen zonder schrijfrechten. OpenID Connect (OIDC) is een identiteitslaag bovenop OAuth 2.0 die gebruikersauthenticatie toevoegt via ID tokens in JWT-formaat met claims als sub, email en name. Token introspection (RFC 7662) en revocation endpoints (RFC 7009) bieden beheer over uitgegeven tokens. DPoP (Demonstrating Proof of Possession) is een nieuwere extensie die tokens bindt aan een specifieke client, waardoor gestolen tokens waardeloos worden.
MG Software implementeert OAuth 2.0 in vrijwel alle applicaties die we bouwen. We gebruiken Supabase Auth dat OAuth-providers als Google, Microsoft en GitHub out-of-the-box ondersteunt met PKCE als standaard. Voor SaaS-producten implementeren we "Login met Google/Microsoft" flows zodat gebruikers zich veilig aanmelden met hun bestaande account, zonder dat wij wachtwoorden opslaan. Bij API-integraties met externe systemen gebruiken we de Client Credentials flow voor veilige server-to-server communicatie. Access tokens worden altijd server-side opgeslagen in HttpOnly cookies, nooit in localStorage. We adviseren klanten over de juiste OAuth-flow voor hun specifieke use case en zorgen dat scopes zo minimaal mogelijk zijn om het principle of least privilege te respecteren. Onze implementaties omvatten altijd refresh token-rotatie, zodat gestolen tokens slechts eenmalig bruikbaar zijn. Bij multi-tenant SaaS-platformen configureren we tenant-specifieke OAuth-providers zodat elke organisatie kan inloggen via hun eigen Microsoft Entra ID of Google Workspace domein.
In een wereld waar gebruikers tientallen online accounts hebben, is wachtwoordmoeheid een reeel probleem. Hergebruik van wachtwoorden is een van de grootste beveiligingsrisico's op het web. OAuth lost dit op door gebruikers te laten inloggen bij applicaties via hun bestaande accounts bij vertrouwde providers als Google of Microsoft, zonder dat de applicatie ooit een wachtwoord hoeft op te slaan. Voor ontwikkelaars elimineert dit de complexiteit en het risico van wachtwoordbeheer: geen hashing, geen reset-flows, geen credential-opslag. Voor bedrijven vertaalt dit zich in hogere conversie (minder registratie-frictie), betere beveiliging en compliance met regelgeving als de AVG. De gestandaardiseerde aanpak van OAuth maakt het ook mogelijk om veilig te integreren met honderden externe services en API's. Daarnaast verlaagt OAuth de drempel voor B2B-integraties: partners en klanten kunnen hun bestaande identity provider gebruiken, wat adoptie versnelt en de noodzaak voor aparte credential-uitwisseling elimineert. Het protocol is zo fundamenteel geworden dat vrijwel elke moderne API-integratie, van betaalproviders tot CRM-systemen, OAuth 2.0 als authenticatiemechanisme vereist.
Een veelgemaakte fout is OAuth gebruiken voor authenticatie terwijl het een autorisatieprotocol is. OAuth vertelt je wat een gebruiker mag doen, niet wie de gebruiker is. Gebruik OpenID Connect voor authenticatie bovenop OAuth 2.0. Ontwikkelaars slaan tokens vaak onveilig op in localStorage, wat kwetsbaar is voor XSS-aanvallen. Access tokens horen in HttpOnly cookies met Secure en SameSite flags. Redirect URI-validatie wordt soms slordig geimplementeerd, wat open redirect-aanvallen mogelijk maakt. Te brede scopes zijn een ander risico: vraag alleen de minimaal benodigde rechten aan. Tot slot vergeten teams refresh token-rotatie te implementeren, waardoor een gelekt refresh token onbeperkt herbruikt kan worden. Een andere fout is het niet implementeren van de state-parameter, die CSRF-aanvallen voorkomt door een willekeurige waarde mee te sturen die bij de callback gevalideerd wordt. Teams vergeten ook regelmatig token-revocatie te bouwen voor wanneer een gebruiker uitlogt of zijn account verwijdert.
Dezelfde expertise die u leest, zetten wij in voor klanten.
Ontdek wat wij kunnen doenWat 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,…
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.
Alles over SSL/TLS: van definitie tot praktijk
Heldere keuze voor groei: SSL/TLS versleutelt de verbinding tussen browser en server via HTTPS, onmisbaar voor databescherming, gebruikersvertrouwen…
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?