Implicit Flow met OIDC
Verken de Implicit Flow met OIDC, inclusief het rechtstreeks teruggeven van het ID Token en de beveiligingsimplicaties voor single-pageapplicaties.
Implicit Flow met OIDC is een gratis OAuth2 en OpenID Connect diepgaand bekeken-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 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.
Basisprincipes van de OIDC-impliciete flow
Wat is de impliciete flow met OpenID Connect (OIDC)? Het is een manier voor webapplicaties, vooral singlepage-applicaties (SPA's), om identiteitsinformatie en toegangstokens rechtstreeks van de autorisatieserver te krijgen.
Deze flow is ontworpen voor scenario's waarin een backendserver een clientgeheim niet veilig kon opslaan.
Tokens rechtstreeks leveren
In tegenstelling tot de autorisatiecodeflow omvat de impliciete flow geen uitwisseling van een autorisatiecode met het token-eindpunt van de autorisatieserver.
In plaats daarvan worden het ID-token en het toegangstoken na authenticatie van de gebruiker rechtstreeks in de browser van de client teruggegeven, in het fragment van de URL.
Tokens rechtstreeks opvragen
De clientapplicatie start de flow door de browser van de gebruiker om te leiden naar het /authorize-eindpunt van de autorisatieserver.
Belangrijke parameters zijn:
response_type=id_token token: Vraagt zowel een ID-token als een toegangstoken op.client_id: Identificeert de clientapplicatie.redirect_uri: Geeft aan waar de gebruiker na authenticatie naartoe wordt teruggestuurd.scope=openid profile: Specificeert de aangevraagde machtigingen, inclusiefopenidvoor OIDC.nonce: Een unieke tekenreeks om replay-aanvallen te voorkomen.
https://auth.example.com/authorize?
response_type=id_token%20token&
client_id=my-spa-client&
redirect_uri=https://app.example.com/callback&
scope=openid%20profile&
nonce=aRandomNonceValue&
state=aRandomStateValueTokens in het URL-fragment
Nadat de gebruiker zich succesvol heeft geauthenticeerd en toestemming heeft gegeven, stuurt de autorisatieserver de browser van de gebruiker terug naar de redirect_uri.
De tokens (ID-token en toegangstoken) worden rechtstreeks opgenomen in het fragmentgedeelte van de URL (na het symbool #).
De JavaScript-code aan de clientkant leest deze tokens vervolgens uit en verwerkt ze.
https://app.example.com/callback#
id_token=eyJ...&
access_token=eyJ...&
token_type=Bearer&
expires_in=3600&
state=aRandomStateValueTokenverwerking aan de clientkant
Omdat de tokens in het URL-fragment staan, zijn ze toegankelijk voor JavaScript aan de clientkant. De browser stuurt het fragment niet naar de server.
De SPA haalt id_token en access_token eruit, valideert ze en kan access_token vervolgens gebruiken om aanvragen te doen bij beveiligde API-bronnen.
public class TokenParser {
public static void main(String[] args) {
String urlFragment = "id_token=eyJ...&access_token=eyJ...&expires_in=3600";
System.out.println("Processing URL fragment:");
String[] params = urlFragment.split("&");
for (String param : params) {
String[] pair = param.split("=");
if (pair.length == 2) {
System.out.println(pair[0] + ": " + pair[1]);
}
}
System.out.println("\nIn a real app, you'd validate these tokens!");
}
}Identiteit met het ID-token
Het ID-token is een JSON Web Token (JWT) dat claims over de geauthenticeerde gebruiker bevat, zoals de unieke identificatie, naam en het e-mailadres van de gebruiker.
De clientapplicatie valideert dit token om de identiteit van de gebruiker te controleren en te bevestigen dat het afkomstig is van de verwachte autorisatieserver.
Dit is de 'identiteitslaag' die OpenID Connect aan OAuth2 toevoegt.
Beveiligingsrisico: browsergeschiedenis
Een groot beveiligingsprobleem van de impliciete flow is dat tokens zichtbaar zijn in het URL-fragment van de browser.
Dit betekent dat ze kunnen worden opgeslagen in de browsergeschiedenis en in toegangslogboeken van de server (als het fragment er per ongeluk in wordt opgenomen), en mogelijk toegankelijk zijn voor andere scripts op dezelfde pagina.
- Browsergeschiedenis: Tokens kunnen worden opgeslagen, waardoor onbevoegde toegang mogelijk is als iemand toegang krijgt tot de browsergeschiedenis.
- Refererheaders: In sommige gevallen kunnen tokens lekken via
Referrer-headers.
Beveiligingsrisico: geen clientgeheim
De impliciete flow wordt meestal gebruikt door 'openbare clients' (zoals SPA's) die een clientgeheim niet veilig kunnen opslaan.
Dit betekent dat de autorisatieserver de clientapplicatie zelf niet kan authenticeren, maar alleen de gebruiker. Hierdoor is de flow kwetsbaar voor bepaalde aanvallen, zoals tokeninjectie.
- Een aanvaller zou mogelijk een kwaadaardig token kunnen injecteren.
- Er is geen cryptografisch bewijs dat de client die het token ontvangt dezelfde client is als de client die de aanvraag heeft gestart.
Afgeraden en vervangen
Vanwege de ingebouwde beveiligingszwaktes is de impliciete flow inmiddels grotendeels verouderd voor nieuwe implementaties.
De OAuth 2.0 Security Best Current Practice beveelt aan om de autorisatiecodeflow met PKCE (Proof Key for Code Exchange) te gebruiken voor openbare clients zoals SPA's en mobiele apps.
PKCE biedt een robuuste manier om openbare clients te beveiligen zonder dat een clientgeheim nodig is.
Snelle controle van de impliciete flow
Wat is een belangrijk beveiligingsprobleem bij het gebruik van de OIDC-impliciete flow?
Samenvatting van de impliciete flow
We hebben de OIDC-impliciete flow verkend, waarbij identiteits- en toegangstokens rechtstreeks in het URL-fragment worden teruggegeven.
Hoewel deze flow de toegang aan de clientkant vereenvoudigt, hebben de beveiligingsrisico's ervan — vooral het zichtbaar worden van tokens in de URL en het ontbreken van clientauthenticatie — geleid tot het verouderd raken ervan.
Geef voor openbare clients altijd de voorkeur aan de autorisatiecodeflow met PKCE om een robuuste beveiliging te garanderen.
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 “Implicit Flow met OIDC” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad OAuth2 en OpenID Connect diepgaand bekeken, waaronder “Implicit 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 “Implicit Flow met OIDC”?
Verken de Implicit Flow met OIDC, inclusief het rechtstreeks teruggeven van het ID Token en de beveiligingsimplicaties voor single-pageapplicaties. 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 2 van 4.
Hoe lang duurt de les “Implicit 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
- Authorization Code Flow met OIDC
- Implicit Flow met OIDC
- Hybrid Flow met OIDC
- Nonce gebruiken om replay te voorkomen