...
Vanuit Mijn Burgerprofiel maken we gebruik van het Vlaams Toegangsbeheer om authenticatie te faciliteren. Deze component voorziet automatisch single sign-on functionaliteit zodat een burger zich niet telkens opnieuw moet aanmelden in verschillende applicaties. In het kader van de aanvraagmodule kan een formulier op twee manier geraadpleegd worden:
Embedded in Mijn Burgerprofiel
Stand-alone
De SSO-functionaliteit is gebonden aan deze beperkingen:
een beperkte levensduur
aanmelden moet in dezelfde browserinstantie
geen garantie dat de gebruikerscontext bewaard blijft tussen de verschillende applicaties
bij embed geïmpacteerd door third party cookie problematiek
Single Sign-on via token
Note |
---|
U kunt deze functionaliteit alleen gebruiken als de applicatie waarmee u wilt koppelen, te koppelen aanvraagmodule beschikt over een OpenID Connect integratie met het Vlaams Toegangsbeheer. |
Om een aantal beperkingen op te lossen bij de klassieke manier waarop single sign-on werkt, gebruiken we Token Exchange om een OAuth Access Token te generen die de Mijn Burgerprofiel-applicatie kan gebruiken om een sessie op te startendoor de aanvraagmodule gebruikt kan worden.
Vereisten
De applicatie aanvraagmodule moet een trust aanvragen voor de relatie hebben met Mijn Burgerprofiel Client-ID (zie Bijlage - Mijn Burgerprofiel Client-ID)
De applicatie beschikt over ondersteuning voor Token Exchange grant type
De applicatie beschikt over ondersteuning voor Client Credential grant type
ImplementatieImplementatie
…
Single Sign-on vanuit een applicatie begint door het verkrijgen van een OpenID Connect Access Token (OIDC Access Token) via de authorization code grant.
...
Code Block |
---|
POST /op/v1/token HTTP/1.1 Host: authenticatie-ti.vlaanderen.be Content-Type: application/x-www-form-urlencoded grant_type=urn:ietf:params:oauth:grant-type:token-exchange &audience=<MBP-CLIENT-ID> &subject_token=<OIDC-ACCESS-TOKEN> &subject_token_type=urn:ietf:params:oauth:token-type:access_token &actor_token=<OIDC-ACCESS-TOKEN> &actor_token_type=urn:ietf:params:oauth:token-type:access_token &client_id=<APP-CLIENT-ID> &client_secret=<APP-CLIENT-SECRET> |
Naam | Beschrijving |
---|---|
<MBP-CLIENT-ID> | Bevat de Mijn Burgerprofiel Client-ID (zie Bijlage - Mijn Burgerprofiel Client-ID) |
<OIDC-ACCESS-TOKEN> | OpenID Connect Access Token verkregen door gebruik te maken van authorization code grant of via uitvoeren van refresh |
<APP-CLIENT-ID> | Client-ID van de applicatie (zie Client Authenticatie voor alternatieven) |
<APP-CLIENT-SECRET> | Client Secret van de applicatie (zie Client Authenticatie voor alternatieven). |
Info |
---|
Opmerking: in het codevoorbeeld gebruiken we een Client-ID en Secret. Deze informatie kan ook als Basic Authentication toegevoegd worden. Bij een asymmetrisch sleutelpaar is client assertion nodig. Zie ook Client Authenticatie voor meer informatie en voorbeelden. |
...
Anchor | ||||
---|---|---|---|---|
|
Client-ID | Omgeving | URL |
---|---|---|
80689076-8c4a-4bef-abc4-82805e17988d | TNI | |
88f04968-d331-4ae0-99d9-c6efb845841f | Productie |