Access Token via token exchange

Een toepassing kan namens een geauthenticeerde gebruiker het access token inruilen via een Token Exchange

Deze functionaliteit biedt de mogelijkheid aan een OpenID Connect toepassing om namens de aangemelde gebruiker een access token aan te vragen om te connecteren naar een API.

De gebruiker is in dat geval dus reeds aangemeld op de (via OpenID Connect ontsloten) frontend en beschikt dus over een access token, waarbij de frontend de audience is: deze audience matcht niet met die van de API, waardoor dit access token niet rechtstreeks bruikbaar is. De frontend zal dit access token echter kunnen inruilen voor een access token van de API. Daarbij dient gevalideerd te worden of deze API deze frontend vertrouwt, of deze gebruiker ook geautoriseerd is voor het gebruik van deze API en voor welke scopes de gebruiker (specifiek voor deze API) geautoriseerd is. Mogelijk is slechts een subset van de scopes nodig, of is er zelfs geen verband tussen de scopes van de verschillende tokens.

Het inruilen van het access token kan gebeuren op het Token Endpoint (cfr. het Discovery Endpoint).

oAuth token exchange

  1. De Client vraagt een access token aan - in naam van de gebruiker - om toegang te krijgen voor de API. Daartoe stuurt hij het access token (uitgegeven voor de Client zelf) mee in zijn request. Door zich te authenticeren, kan de OP de geldigheid van het access token valideren en nagaan of het effectief uitgegeven werd voor deze Client. De OP zal ook valideren of deze Client namens deze API een token exchange mag uitvoeren. Voor de gebruiker (die met dit access token uniek geïdentificeerd wordt) zal de OP nagaan of hij geautoriseerd is voor het gebruik van de API en voor welke scopes hij de autorisatie heeft. Zie Aanvraag Token Exchange
  2. Indien al deze validaties succesvol zijn, dan ontvangt de Client een access token dat kan gebruikt worden om de API te bevragen, in naam van de gebruiker. Zie Terugsturen Access Token
  3. De frontend applicatie bevraagt de API en stuurt het verkregen access token mee. Zie Vraag Resource op
  4. De API valideert het access token bij het introspection endpoint. Zie Valideer Access Token
  5. De API ontvangt info over het access token (info over de geldigheid van het access token, welke scopes bezit deze gebruiker, eventuele gebruikersinformatie, etc). Zie Terugsturen scopes
  6. De API voltooit de gevraagde acties en stuurt eventuele informatie terug naar de Client