OAuth2 en OpenID Connect diepgaand bekeken · Les

Authorization Code Flow

Beheers de veiligste en meest gebruikte flow, ideaal voor vertrouwelijke clients zoals webserverapplicaties.

Les 1 van 412 stappen

Authorization Code Flow is een gratis OAuth2 en OpenID Connect diepgaand bekeken-les op CoddyKit. Dit is les 1 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 OAuth2 en OpenID Connect diepgaand bekeken. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus OAuth2 en OpenID Connect diepgaand bekeken bevat in totaal 4 lessen.

Autorisatiecodeflow: de veilige standaard

Welkom bij de les over de autorisatiecodeflow! Dit is de veiligste en meest gebruikte OAuth2-flow, vooral voor webapplicaties.

De flow is ontworpen om gevoelige legitimatiegegevens te beschermen en is de standaardkeuze voor clients die een geheim kunnen bewaren, ook wel vertrouwelijke clients genoemd.

Waarom vertrouwelijke clients?

Een vertrouwelijke client is een applicatie, zoals een traditionele webserverapp, die een geheim veilig kan opslaan, bijvoorbeeld een client_secret.

Deze flow maakt gebruik van een beveiligd, rechtstreeks communicatiekanaal tussen de backend van je applicatie en de Authorization Server, zodat gevoelige tokens uit de browser van de gebruiker blijven.

De vier rollen in actie

Denk aan de vier belangrijkste rollen in OAuth2:

  • Resource Owner: de gebruiker die toegang verleent.
  • Client: je applicatie die toegang vraagt.
  • Authorization Server: verifieert de identiteit en geeft tokens uit.
  • Resource Server: bevat de beveiligde gegevens.

In deze flow werken ze samen in een specifieke reeks van meerdere stappen.

Stap 1: autorisatie aanvragen

Alles begint wanneer de Resource Owner (gebruiker) wil inloggen of toegang wil verlenen aan je Client-applicatie.

Je applicatie verwijst de browser van de gebruiker door naar het autorisatie-eindpunt van de Authorization Server en stuurt daarbij verschillende parameters mee:

  • response_type=code (cruciaal!)
  • client_id (de ID van je app)
  • redirect_uri (waar de gebruiker naartoe moet worden teruggestuurd)
  • scope (de aangevraagde machtigingen)
  • state (voor de beveiliging, later uitgelegd)

Stap 2: gebruiker geeft toestemming

Nadat de gebruiker is doorgestuurd naar de Authorization Server, ziet die een toestemmingsscherm.

Op dit scherm wordt gevraagd of de gebruiker ermee instemt om je Client-applicatie de aangevraagde machtigingen te geven (vastgelegd door scope).

De gebruiker kan vervolgens kiezen om het verzoek te Goedkeuren of te Weigeren.

Stap 3: autorisatiecode afleveren

Als de gebruiker goedkeurt, verwijst de Authorization Server de browser van de gebruiker terug naar de redirect_uri die je in stap 1 hebt opgegeven.

Deze URL bevat nu een eenmalig te gebruiken autorisatiecode en de parameter state die je hebt meegestuurd, bijvoorbeeld:

https://your-app.com/callback?code=AUTH_CODE_HERE&state=RANDOM_STRING

Deze code is kort geldig en geeft geen directe toegang tot resources.

Stap 4: code inwisselen voor tokens

Hier gebeurt het belangrijkste! De backend van je Client-applicatie ontvangt de autorisatiecode.

Vervolgens stuurt de backend een rechtstreeks HTTP POST-verzoek via een back-channel naar het token-eindpunt van de Authorization Server.

Dit verzoek bevat code, redirect_uri, client_id en, cruciaal, je client_secret om je applicatie te authenticeren.

Stap 5: tokens worden uitgegeven

De Authorization Server valideert het verzoek, vooral client_secret en code.

Als alles geldig is, geeft de server een toegangstoken en eventueel een vernieuwingstoken aan de backend van je Client-applicatie.

Je applicatie kan het toegangstoken nu gebruiken om namens de gebruiker verzoeken naar de Resource Server te sturen.

Bescherming tegen CSRF met `state`

De parameter state is een belangrijke beveiligingsmaatregel tegen Cross-Site Request Forgery-aanvallen (CSRF).

Je Client moet voor elk autorisatieverzoek een unieke, cryptografisch willekeurige tekenreeks genereren en deze opnemen als de parameter state.

Wanneer de Authorization Server de gebruiker terugstuurt, bevat het verzoek dezelfde state. Je Client moet vervolgens controleren of de teruggestuurde state overeenkomt met de waarde die de client heeft verzonden, zodat je zeker weet dat de callback legitiem is.

Ideale toepassingsgebieden

De autorisatiecodeflow is het meest geschikt voor:

  • Vertrouwelijke clients: vooral webserverapplicaties.
  • Clients met een backend: waarbij client_secret veilig kan worden opgeslagen en gebruikt.
  • Openbare clients met PKCE: (wordt in een latere les behandeld) mobiele apps en SPA's kunnen deze flow gebruiken met een uitbreiding genaamd PKCE voor betere beveiliging.

Dit is de meest robuuste keuze wanneer beveiliging van het grootste belang is.

Controle van de flow

Bekijk de stappen van de autorisatiecodeflow. Welke van deze parameters worden tijdens de stap waarin het token wordt uitgewisseld doorgaans door de client naar het token-eindpunt van de Authorization Server gestuurd?

Samenvatting: autorisatiecodeflow

Je beheerst nu de autorisatiecodeflow!

  • Dit is de veiligste OAuth2-flow.
  • Ideaal voor vertrouwelijke clients (server-side apps).
  • Gebruikt een tijdelijke autorisatiecode om tokens te verkrijgen.
  • De tokenuitwisseling vindt veilig plaats via een back-channel (van server naar server).
  • De state-parameter beschermt tegen CSRF.

Deze flow vormt de basis voor veel veilige authenticatie- en autorisatiesystemen.

Gratis beginnen

Leer OAuth2 en OpenID Connect diepgaand bekeken 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 “Authorization Code Flow” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad OAuth2 en OpenID Connect diepgaand bekeken, waaronder “Authorization Code Flow”, 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 OAuth2 en OpenID Connect diepgaand bekeken bevat in totaal 4 lessen.

Wat leer ik in “Authorization Code Flow”?

Beheers de veiligste en meest gebruikte flow, ideaal voor vertrouwelijke clients zoals webserverapplicaties. Je oefent met OAuth2 en OpenID Connect diepgaand bekeken 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 OAuth2 en OpenID Connect diepgaand bekeken te beginnen?

Ervaring vooraf is niet nodig. OAuth2 en OpenID Connect diepgaand bekeken 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 1 van 4.

Hoe lang duurt de les “Authorization Code Flow”?

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 OAuth2 en OpenID Connect diepgaand bekeken?

Ja. Elke les over OAuth2 en OpenID Connect diepgaand bekeken 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

  1. Authorization Code Flow
  2. Client Credentials Flow
  3. Implicit Flow en uitfasering
  4. Device Authorization Grant
← Terug naar OAuth2 en OpenID Connect diepgaand bekeken