API Access Token via token exchange
Deze functionaliteit biedt de mogelijkheid aan een OpenID Connect toepassing om namens de aangemelde gebruiker een API access token aan te vragen om te connecteren naar een API Resource.
De gebruiker is in dat geval dus reeds aangemeld op de (via OpenID Connect ontsloten) frontend en beschikt dus over een OIDC access token, waarbij de (frontend) toepassing de audience is: deze audience matcht niet met die van de API Resource, waardoor dit OIDC access token niet rechtstreeks bruikbaar is. De (frontend) toepassing zal dit OIDC access token echter kunnen inruilen voor een API access token dat bruikbaar is voor de API Resource. Daarbij dient gevalideerd te worden of deze API Resource deze (frontend) toepassing vertrouwt, of deze gebruiker ook geautoriseerd is voor het gebruik van deze API Resource en voor welke scopes de gebruiker (specifiek voor deze API Resource) 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 OIDC access token naar een API access token kan gebeuren op het Token Endpoint (cfr. het Discovery Endpoint).
- De (frontend) toepassing vraagt een API access token aan - in naam van de gebruiker - om toegang te krijgen voor de APIREsource. Daartoe stuurt hij het OIDC access token (uitgegeven voor de (frontend) toepassing zelf) mee in zijn request. Door zich te authenticeren, kan de OP de geldigheid van het OIDC access token valideren en nagaan of het effectief uitgegeven werd voor deze (frontend) toepassing. De OP zal ook valideren of deze (frontend) toepassing namens deze API Resource een token exchange mag uitvoeren. Voor de gebruiker (die met dit OIDC access token uniek geïdentificeerd wordt) zal de OP nagaan of hij geautoriseerd is voor het gebruik van de API Resource en voor welke scopes hij de autorisatie heeft. Zie Aanvraag Token Exchange
- Indien al deze validaties succesvol zijn, dan ontvangt de (frontend) toepassing een API access token dat kan gebruikt worden om de API Resource te bevragen, in naam van de gebruiker. Zie Terugsturen Access Token
- De (frontend) toepassing bevraagt de API Resource en stuurt het verkregen API access token mee. Zie Vraag Resource op
- De API Resource valideert het API access token bij het introspection endpoint. Zie Valideer Access Token
- De API Resource ontvangt info over het API access token (info over de geldigheid van het API access token, welke scopes bezit deze gebruiker, eventuele gebruikersinformatie, etc). Zie Terugsturen scopes
- De API Resource voltooit de gevraagde acties en stuurt eventuele informatie terug naar de (frontend) toepassing