OAuth2 en OpenID Connect diepgaand bekeken · Les

Hybrid Flow met OIDC

Leer meer over de Hybrid Flow, die elementen van de Authorization Code- en Implicit-flow combineert voor flexibiliteit en beveiliging.

Les 3 van 411 stappen

Hybrid Flow met OIDC is een gratis OAuth2 en OpenID Connect diepgaand bekeken-les op CoddyKit. Dit is les 3 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.

Introductie tot de hybride flow

Welkom bij de hybride flow! Deze OIDC-flow is een interessante combinatie waarin functies van zowel de autorisatiecodeflow als de impliciete flow worden samengevoegd.

De flow is ontworpen om flexibiliteit te bieden: sommige tokens worden rechtstreeks via het front-channel (browseromleiding) geleverd, terwijl andere veilig via het back-channel kunnen worden opgehaald.

Waarom flows combineren?

De hybride flow is bedoeld voor situaties waarin een toepassing onmiddellijk toegang nodig heeft tot bepaalde identiteitsinformatie (zoals een ID-token), maar ook de extra beveiliging van een autorisatiecode nodig heeft om vernieuwingstokens op te halen.

  • Onmiddellijk ID-token: Handig voor snelle updates van de gebruikersinterface of de eerste authenticatie.
  • Veilig toegangstoken/vernieuwingstoken: Verkregen via een veilige uitwisseling via het backchannel, zodat tokens niet in de browsergeschiedenis terechtkomen.

De magie van `response_type`

De sleutel tot de hybride flow is de parameter `response_type`. In tegenstelling tot `code` (autorisatiecodestroom) of `id_token token` (impliciete stroom) gebruikt de hybride flow combinaties.

Veelgebruikte waarden voor `response_type` in de hybride flow zijn:

  • code id_token
  • code token
  • code token id_token

Hiermee geef je de autorisatieserver precies aan welke tokens deze in de reactie via het frontchannel moet terugsturen.

Stap 1: autorisatieverzoek

Het proces begint net als bij andere OIDC-stromen. Je clienttoepassing stuurt de browser van de gebruiker door naar het autorisatie-eindpunt van de autorisatieserver.

Het verzoek bevat parameters zoals:

  • client_id: De identificatie van je toepassing.
  • redirect_uri: Waar de gebruiker naartoe wordt teruggestuurd.
  • response_type: Cruciaal hierbij is een hybride combinatie (bijvoorbeeld code id_token).
  • scope: Tot welke bronnen of informatie je toegang wilt (bijvoorbeeld openid profile).
  • nonce: Een unieke waarde die maar één keer kan worden gebruikt om herhalingsaanvallen te beperken.
  • state: Om de status te behouden en CSRF-aanvallen te voorkomen.

Stap 2: reactie van de autorisatieserver

Nadat de gebruiker zich heeft geauthenticeerd en toestemming heeft gegeven, stuurt de autorisatieserver de browser van de gebruiker terug naar je redirect_uri.

Deze URL voor de omleiding via het frontchannel bevat zowel een autorisatie-code als een of meer tokens (bijvoorbeeld id_token en access_token) rechtstreeks in het URL-fragment of de queryreeks, afhankelijk van de response_type.

Bij response_type=code id_token ontvang je bijvoorbeeld beide.

Verwerking aan clientzijde (frontchannel)

Wanneer je clienttoepassing (bijvoorbeeld een toepassing met één pagina) de omleiding ontvangt, kan deze onmiddellijk het id_token uit het URL-fragment halen.

Dit ID-token kan worden gebruikt om:

  • De gebruiker lokaal te authenticeren.
  • De gebruikersinterface bij te werken met profielinformatie van de gebruiker.
  • Een gevoel van onmiddellijk inloggen te geven zonder verdere netwerkaanroepen.

De code wordt ook uitgelezen voor later gebruik.

Stap 3: uitwisseling van tokens via het backchannel

De autorisatie-code uit de reactie via het frontchannel wordt vervolgens door je clienttoepassing gebruikt om een rechtstreeks, veilig verzoek via het backchannel naar het token-eindpunt van de autorisatieserver te sturen.

Dit verzoek, meestal afkomstig van je backendserver of een beveiligde client, wisselt de code in voor een nieuw access_token en, belangrijker nog, een refresh_token.

Zo wordt voorkomen dat het vernieuwingstoken ooit in de browser terechtkomt.

Tokenvalidatie: een dubbele controle

Bij de hybride flow kun je tokens ontvangen via twee verschillende kanalen: het frontchannel (ID-token en mogelijk toegangstoken) en het backchannel (toegangstoken en vernieuwingstoken).

Het is essentieel om alle ontvangen tokens te valideren, zodat je hun authenticiteit, integriteit en geldigheid kunt vaststellen. Controleer daarbij onder andere handtekeningen, verloopdatum, doelgroep, uitgever en de nonce van ID-tokens.

Gebruikssituaties en afwegingen

De hybride flow heeft vaak de voorkeur voor toepassingen die snel zichtbaar moeten kunnen inloggen (via het ID-token in het frontchannel), maar ook de beveiliging van een vernieuwingstoken nodig hebben voor langdurige sessies (via de uitwisseling van de code in het backchannel).

  • Voordelen: Directe gebruikerservaring en beveiliging van het vernieuwingstoken.
  • Nadelen: Complexer om te implementeren en te valideren door de meerdere tokens uit verschillende kanalen.

De flow brengt een goede gebruikerservaring in evenwicht met sterke beveiliging bij het verkrijgen van vernieuwingstokens.

Controle van de hybride flow

De hybride flow combineert aspecten van de autorisatiecodestroom en de impliciete stroom. Welke van de volgende opties beschrijft het belangrijkste voordeel van deze aanpak het best?

Samenvatting: flexibiliteit van de hybride flow

Vandaag hebben we de hybride flow van OpenID Connect verkend. We hebben geleerd hoe deze strategisch elementen van de autorisatiecodestroom en de impliciete stroom combineert door specifieke waarden voor response_type te gebruiken.

Zo kunnen toepassingen onmiddellijk identiteitsinformatie rechtstreeks in de browser ophalen, terwijl de beveiliging van tokenuitwisselingen via het backchannel voor vernieuwingstokens behouden blijft. Dit is een krachtig hulpmiddel voor flexibel en veilig identiteitsbeheer.

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 “Hybrid Flow met OIDC” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad OAuth2 en OpenID Connect diepgaand bekeken, waaronder “Hybrid Flow met OIDC”, 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 “Hybrid Flow met OIDC”?

Leer meer over de Hybrid Flow, die elementen van de Authorization Code- en Implicit-flow combineert voor flexibiliteit en beveiliging. 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 3 van 4.

Hoe lang duurt de les “Hybrid Flow met OIDC”?

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 met OIDC
  2. Implicit Flow met OIDC
  3. Hybrid Flow met OIDC
  4. Nonce gebruiken om replay te voorkomen
← Terug naar OAuth2 en OpenID Connect diepgaand bekeken