Ga naar hoofdinhoud
Technisch

OAuth 2.0

Definitie

OAuth 2.0 is een open autorisatiestandaard die applicaties toestaat beperkte toegang te krijgen tot gebruikersaccounts op andere diensten. Het is de basis voor 'Login met Google' en API-autorisatie.

OAuth 2.0 is een open autorisatiestandaard die applicaties toestaat beperkte toegang te krijgen tot gebruikersaccounts op andere diensten zonder wachtwoorden te delen. Het is de basis voor Inloggen met Google, API-autorisatie en het delegeren van toegangsrechten tussen applicaties. OAuth 2.0 is een van de meest gebruikte beveiligingsstandaarden op het web.

Hoe werkt OAuth 2.0?

OAuth 2.0 maakt gedelegeerde autorisatie mogelijk via een flow van vier stappen: de applicatie (client) vraagt de gebruiker om toestemming voor specifieke rechten (scopes), de gebruiker geeft toestemming bij de autorisatieserver (bijv. Google), de autorisatieserver geeft een authorization code af, de client wisselt deze code bij de token endpoint in voor een access token. Met het access token kan de client namens de gebruiker toegang krijgen tot de beschermde resource, maar alleen binnen de geautoriseerde scopes.

OAuth 2.0 en OpenID Connect

OAuth 2.0 is een autorisatieprotocol: het regelt wat een applicatie mag doen. OpenID Connect (OIDC) is een authenticatielaag bovenop OAuth 2.0: het regelt wie de gebruiker is. Samen vormen ze de basis voor moderne SSO-implementaties.

Beveiligingsrisico's

OAuth-misconfiguraties zijn een veelvoorkomende aanvalsvector. De OWASP API Security Top 10 noemt Broken Object Level Authorization als het grootste API-risico, vaak gerelateerd aan OAuth-implementatiefouten. Risico's omvatten: te ruime scopes die meer toegang verlenen dan nodig, token theft via cross-site scripting (XSS) of open redirects, onvoldoende validatie van redirect URI's, en ontbrekende token-expiratie.

Impact voor organisaties

Vrijwel elke moderne webapplicatie en API gebruikt OAuth 2.0. Incorrecte implementatie kan leiden tot ongeautoriseerde toegang tot gebruikersdata en bedrijfssystemen. De CRA stelt eisen aan de beveiliging van authenticatiemechanismen in digitale producten.

Bescherming

Gebruik bewezen OAuth-bibliotheken in plaats van eigen implementaties. Beperk scopes tot het minimum dat nodig is. Valideer redirect URI's strikt. Implementeer token-expiratie en -rotatie. Gebruik PKCE (Proof Key for Code Exchange) voor publieke clients.

Hoe DEFION helpt

DEFION test OAuth-implementaties als onderdeel van Web Application Pentests en API Security Assessments. Het team identificeert misconfiguraties en autorisatiefouten die tot ongeautoriseerde toegang kunnen leiden.

Gerelateerde termen

API-beveiliging IAM (Identity and Access Management) SSO (Single Sign-On)