OAuth 2.0 en OpenID Connect
Krijg inzicht in en integreer veilig industriestandaardprotocollen voor autorisatie (OAuth 2.0) en authenticatie (OpenID Connect) in uw applicaties.
OAuth 2.0 en OpenID Connect is een gratis Veilig coderen en de OWASP Top 10 voor backends-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Veilig coderen en de OWASP Top 10 voor backends. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Veilig coderen en de OWASP Top 10 voor backends bevat in totaal 4 lessen.
Wat is OAuth 2.0?
Welkom! In deze les duiken we in OAuth 2.0 en OpenID Connect, twee cruciale protocollen voor moderne webbeveiliging.
Laten we eerst OAuth 2.0 begrijpen. Het is een industriestandaardprotocol voor autorisatie. Zie het als een manier om een applicatie beperkte toegang te geven tot de resources van een gebruiker, zonder diens wachtwoord prijs te geven.
- Autorisatie: Toestemming geven om iets te doen.
- Authenticatie: Verifiëren wie iemand is.
OAuth 2.0 is op zichzelf NIET bedoeld voor authenticatie, maar dit wordt vaak door elkaar gehaald!
Wie is wie in OAuth 2.0
OAuth 2.0 omvat vier belangrijke rollen die samenwerken:
- Resource-eigenaar: De gebruiker die eigenaar is van de beveiligde gegevens (bijvoorbeeld diens foto's op Google).
- Client: De applicatie die toegang vraagt tot de resources van de gebruiker (bijvoorbeeld een app voor het afdrukken van foto's).
- Autorisatieserver: De server die toegangstokens aan de client verstrekt nadat de resource-eigenaar toestemming heeft gegeven (bijvoorbeeld de autorisatieserver van Google).
- Resourceserver: De server waarop de beveiligde resources staan en die toegangstokens kan accepteren (bijvoorbeeld de Google Photos-API).
Als je deze rollen begrijpt, snap je de stroom beter.
De autorisatiecodestroom
OAuth 2.0 definieert verschillende manieren (ook wel 'granttypen' genoemd) waarop een client een toegangstoken kan verkrijgen. De autorisatiecodestroom is de meest gebruikelijke en veilige methode voor webapplicaties.
Het is een proces met meerdere stappen dat ervoor zorgt dat gevoelige inloggegevens (zoals je wachtwoord) niet bij de clientapplicatie terechtkomen, maar rechtstreeks tussen jou en de autorisatieserver blijven.
Laten we stap voor stap bekijken hoe deze veilige stroom werkt.
Auth-stroom: stap 1 (verzoek)
Het begint allemaal wanneer de Client-applicatie toegang nodig heeft tot de beveiligde resources van een gebruiker (zoals diens agenda). De client stuurt de browser van de Resource-eigenaar door naar de Autorisatieserver.
Deze doorverwijzing bevat:
- De ID van de client (
client_id) - Het type aangevraagde toegang (
scope, bijvoorbeeldread:calendar) - Waar de gebruiker naartoe moet worden teruggestuurd (
redirect_uri)
De gebruiker heeft nu rechtstreeks contact met de autorisatieserver.
Auth-stroom: stap 2 (toestemming en code)
Op de Autorisatieserver wordt de Resource-eigenaar (jij dus!) gevraagd om in te loggen, als dat nog niet is gebeurd, en vervolgens om te bevestigen of de Client-applicatie de aangevraagde rechten mag krijgen.
Als de toestemming wordt gegeven, stuurt de autorisatieserver de browser van de gebruiker terug naar de vooraf geregistreerde redirect_uri van de Client. Deze doorverwijzing bevat een tijdelijke, eenmalig te gebruiken autorisatiecode.
Deze code is maar kort geldig en geeft op zichzelf geen toegang.
Auth-stroom: stap 3 (tokens uitwisselen)
Nu beschikt de Client-applicatie over de autorisatiecode. De client stuurt vervolgens rechtstreeks een server-naar-serververzoek naar het tokeneindpunt van de Autorisatieserver.
In dit verzoek wisselt de client de autorisatiecode in voor:
- Een Access Token
- Optioneel een Refresh Token
Deze rechtstreekse communicatie zorgt ervoor dat het geheim van de client (als die er een heeft) en de tokens nooit in de browser zichtbaar zijn.
Toegangs- en vernieuwingstokens
Na de uitwisseling heeft de Client twee belangrijke tokens:
- Access Token: Dit is de daadwerkelijke legitimatie die wordt gebruikt om toegang te krijgen tot de Resourceserver. Het token is meestal kort geldig (enkele minuten tot uren) en bevat 'toegangsbereiken' die bepalen wat de client mag doen.
- Refresh Token: Dit is een lang geldige legitimatie die de client gebruikt om een nieuw toegangstoken te verkrijgen wanneer het huidige verloopt, zonder dat de gebruiker zich opnieuw hoeft te authenticeren. De client moet dit token veilig opslaan!
De client gebruikt het Access Token om verzoeken naar de Resourceserver te sturen.
Verder dan autorisatie: OpenID Connect
Hoewel OAuth 2.0 uitstekend is voor autorisatie, biedt het niet rechtstreeks gebruikersauthenticatie. Daar komt OpenID Connect (OIDC) om de hoek kijken!
OIDC is een identiteitslaag boven op OAuth 2.0. Hiermee kunnen clients de identiteit van de Resource-eigenaar (de gebruiker) verifiëren en basisinformatie uit diens profiel ophalen.
Zie het als een laag 'wie ben je?' die wordt toegevoegd aan het 'wat mag je doen?' van OAuth.
ID-tokens en claims
De kern van OIDC is het ID Token. Dit is een JSON Web Token (JWT) dat claims over de geauthenticeerde gebruiker bevat.
Veelvoorkomende claims zijn:
sub(subject): Unieke identificatie voor de gebruiker.name: Volledige naam van de gebruiker.email: E-mailadres van de gebruiker.iss(issuer): De URL van de OIDC-provider.aud(audience): De client-ID waarvoor het token bedoeld is.
De client verifieert de handtekening van het ID Token om de authenticiteit en integriteit ervan te garanderen.
Korte test: OAuth versus OIDC
Laten we kort testen of je de belangrijkste concepten die we hebben behandeld begrijpt.
Samenvatting: OAuth en OIDC
Goed gedaan! Je hebt de basisprincipes van OAuth 2.0 en OpenID Connect geleerd.
- OAuth 2.0 is een autorisatiefraamework waarmee gedelegeerde toegang tot resources mogelijk wordt.
- Het omvat een Resource-eigenaar, Client, Autorisatieserver en Resourceserver.
- De autorisatiecodestroom is het veiligst voor webapps.
- OpenID Connect bouwt voort op OAuth 2.0 en biedt een identiteitslaag voor gebruikersauthenticatie.
- ID Tokens (JWT's) bevatten claims over de identiteit van de gebruiker, terwijl Access Tokens toegang tot resources verlenen.
Inzicht in deze protocollen is essentieel voor het bouwen van veilige, moderne applicaties!
Leer Veilig coderen en de OWASP Top 10 voor backends met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “OAuth 2.0 en OpenID Connect” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Veilig coderen en de OWASP Top 10 voor backends, waaronder “OAuth 2.0 en OpenID Connect”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Veilig coderen en de OWASP Top 10 voor backends bevat in totaal 4 lessen.
Wat leer ik in “OAuth 2.0 en OpenID Connect”?
Krijg inzicht in en integreer veilig industriestandaardprotocollen voor autorisatie (OAuth 2.0) en authenticatie (OpenID Connect) in uw applicaties. Je oefent met Veilig coderen en de OWASP Top 10 voor backends door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Veilig coderen en de OWASP Top 10 voor backends te beginnen?
Ervaring vooraf is niet nodig. Veilig coderen en de OWASP Top 10 voor backends op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “OAuth 2.0 en OpenID Connect”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Veilig coderen en de OWASP Top 10 voor backends?
Ja. Elke les over Veilig coderen en de OWASP Top 10 voor backends bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Multifactorauthenticatie (MFA)
- OAuth 2.0 en OpenID Connect
- JWT-beveiliging en best practices
- Veilige wachtwoordopslag en herstel van inloggegevens