OAuth

Open Authorization, OAuth 2.0, OAuth protocol, OAuth-authenticatie, OAuth-autorisatie, Open autorisatie
OAuth is een open standaard voor autorisatie waarmee gebruikers applicaties toegang kunnen geven tot hun gegevens op andere platforms zonder hun wachtwoord te delen.

Wat is OAuth?

OAuth (Open Authorization) is een open standaard protocol voor autorisatie dat gebruikers in staat stelt om applicaties beperkte toegang te geven tot hun gegevens op andere platforms, zonder daarbij hun gebruikersnaam en wachtwoord te delen. Het is een veilige manier om applicaties met elkaar te laten communiceren en gegevens uit te wisselen.

In plaats van je wachtwoord aan een externe applicatie te geven, gebruik je OAuth om toestemming te verlenen. De applicatie ontvangt dan een toegangstoken waarmee het specifieke acties kan uitvoeren namens jou. Dit principe wordt ook wel 'delegated authorization' genoemd.

Hoe werkt OAuth?

OAuth werkt volgens een gestandaardiseerd proces waarbij verschillende partijen betrokken zijn:

  • Resource Owner: De gebruiker die eigenaar is van de gegevens
  • Client: De applicatie die toegang wil tot de gegevens
  • Authorization Server: De server die de gebruiker authenticeert en tokens uitgeeft
  • Resource Server: De server waar de beschermde gegevens staan opgeslagen

Het proces verloopt in verschillende stappen: de applicatie vraagt toestemming, de gebruiker wordt doorverwezen naar de authorization server, de gebruiker geeft toestemming, en de applicatie ontvangt een toegangstoken waarmee het de gevraagde gegevens kan ophalen.

OAuth 2.0 vs OAuth 1.0

OAuth 2.0 is de meest gebruikte versie en een complete herziening van OAuth 1.0. De belangrijkste verschillen zijn:

  • Eenvoudiger implementatie: OAuth 2.0 is minder complex en makkelijker te implementeren
  • Kortere tokens: Tokens zijn korter en makkelijker te verwerken
  • Betere mobiele ondersteuning: Speciaal ontworpen voor mobiele en web applicaties
  • Flexibelere flows: Verschillende authorization flows voor verschillende scenario's

Authorization Flows

OAuth 2.0 kent verschillende authorization flows, elk geschikt voor specifieke situaties:

  • Authorization Code Flow: Meest veilige methode voor web applicaties
  • Implicit Flow: Voor client-side applicaties (wordt minder gebruikt)
  • Client Credentials Flow: Voor server-to-server communicatie
  • Resource Owner Password Flow: Voor vertrouwde applicaties (wordt afgeraden)
  • Device Code Flow: Voor apparaten zonder browser

Toepassingen

Social Media Integraties

OAuth wordt veelvuldig gebruikt voor social media integraties. Wanneer je een applicatie toestemming geeft om namens jou berichten te plaatsen op Facebook, Twitter of LinkedIn, gebeurt dit via OAuth. De applicatie krijgt alleen toegang tot de specifieke functionaliteiten die je hebt goedgekeurd.

Voorbeelden van toepassingen:

  • Social media management tools die berichten plannen en plaatsen
  • Analytics tools die statistieken ophalen van social media accounts
  • Applicaties die 'Sign in with Facebook/Google' functionaliteit bieden
  • Tools voor het importeren van contacten uit sociale netwerken

E-commerce en Betalingen

In de e-commerce wereld is OAuth essentieel voor veilige integraties tussen webshops en externe diensten. Betalingsproviders, verzendpartners en marketingtools gebruiken OAuth om veilig toegang te krijgen tot relevante gegevens.

Praktische toepassingen:

  • Koppeling tussen webshop en boekhoudpakketten
  • Integratie met verzendpartners voor track & trace informatie
  • Marketingautomatisering tools die klantgegevens synchroniseren
  • Betalingsproviders die orderinformatie ophalen

Cloud Storage en Productiviteit

OAuth maakt het mogelijk om applicaties toegang te geven tot je cloud storage zonder je wachtwoord te delen. Dit is cruciaal voor productiviteitstools die bestanden moeten kunnen lezen of opslaan.

Veelvoorkomende scenario's:

  • Backup tools die toegang krijgen tot Google Drive of Dropbox
  • Foto-editors die afbeeldingen uit cloud storage kunnen laden
  • Project management tools die documenten kunnen koppelen
  • Email clients die toegang krijgen tot Gmail of Outlook

API Integraties voor Developers

Voor developers is OAuth de standaard methode om API's veilig te beveiligen. Het biedt een gestructureerde manier om toegang te beheren en te controleren welke applicaties welke gegevens kunnen benaderen.

Ontwikkelingstoepassingen:

  • Third-party applicaties die via API's gegevens uitwisselen
  • Microservices architecturen met gedistribueerde authenticatie
  • Mobile apps die backend API's aanroepen
  • Webhooks en automatiseringen tussen verschillende platforms

Enterprise Single Sign-On

Grote organisaties gebruiken OAuth als onderdeel van hun Single Sign-On (SSO) oplossingen. Medewerkers kunnen dan met één account toegang krijgen tot alle bedrijfsapplicaties.

Enterprise toepassingen:

  • Centraal identity management voor alle bedrijfsapplicaties
  • Veilige toegang tot SaaS applicaties
  • Geïntegreerde workflow tussen verschillende systemen
  • Audit trails voor compliance en beveiliging

Veelgestelde vragen

OAuth 2.0 is een autorisatie protocol, terwijl OpenID Connect (OIDC) een authenticatie laag is die bovenop OAuth 2.0 is gebouwd. OAuth regelt wat een applicatie mag doen (toegang tot resources), terwijl OpenID Connect regelt wie de gebruiker is (identiteit).

In de praktijk wordt OpenID Connect vaak gebruikt voor 'Sign in with Google' functionaliteit, waarbij je zowel inlogt (authenticatie) als toestemming geeft voor toegang tot bepaalde gegevens (autorisatie). OAuth alleen zou niet genoeg informatie geven over de identiteit van de gebruiker.

OAuth 2.0 is inherent veilig wanneer het correct geïmplementeerd wordt, maar er zijn wel aandachtspunten:

  • HTTPS verplicht: Alle communicatie moet via HTTPS verlopen om tokens te beschermen
  • Token opslag: Access tokens moeten veilig worden opgeslagen en nooit in de URL worden meegegeven
  • Scope beperking: Vraag alleen toegang tot de gegevens die echt nodig zijn
  • Token expiratie: Gebruik korte expiration times voor access tokens
  • PKCE: Gebruik Proof Key for Code Exchange voor extra beveiliging bij mobile apps

De grootste risico's ontstaan door verkeerde implementatie, zoals het lekken van tokens, onvoldoende validatie van redirect URLs, of het niet verifiëren van de state parameter tegen CSRF aanvallen.

Gebruik OAuth wanneer je applicatie namens een gebruiker moet handelen en toegang nodig heeft tot gebruikersspecifieke gegevens. API keys zijn geschikt voor server-to-server communicatie waarbij geen gebruikerscontext nodig is.

Kies voor OAuth in deze situaties:

  • Je applicatie heeft toegang nodig tot gegevens van verschillende gebruikers
  • Gebruikers moeten controle hebben over welke toegang ze verlenen
  • Je wilt gebruikers niet vragen om hun wachtwoord
  • Toegang moet per gebruiker kunnen worden ingetrokken
  • Je hebt verschillende toegangsniveaus (scopes) nodig

Kies voor API keys wanneer:

  • Je eigen backend communiceert met een externe service
  • Er geen gebruikerscontext nodig is
  • Het gaat om server-to-server integraties
  • Eenvoud belangrijker is dan granulaire toegangscontrole

Auteur & updates

Auteur: Wouter
Publicatiedatum: 16-02-2026
Laatste update: 16-02-2026