Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Met 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.

Op deze pagina leest u hoe een token aan te vragen. Alle details over dat token zijn beschikbaar op Access Token via token exchange.

Beperkingen SSO

De SSO-functionaliteit is gebonden aan deze beperkingen:

...

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 starten.

...

  • De applicatie moet een trust aanvragen voor de 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

...

Single Sign-on vanuit een applicatie begint door het verkrijgen van een OpenID-Connect Access Token (OIDC Access Token) via de authorization code grant. De minimale scopes die verplicht zijn om de integratie met Mijn Burgerprofiel goed te laten verlopen zijn profiel en het RRN.

Zodra de applicatie het OIDC Access Token heeft, kan de uitwisseling via de Token Exchange beginnen om een OAuth Access Token te generen dat de Mijn Burgerprofiel-applicatie kan verwerken.

Opmerking: de maximale duur van de Mijn Burgerprofiel-applicatieve sessie is gekoppeld aan de resterende tijdsduur van het OIDC Access Token. Om ervoor te zorgen dat een gebruiker zo lang mogelijk kan aangemeld blijven, is het aangeraden om eerst een refresh uitvoeren.

...

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<OAUTH-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

<OAUTH-ACCESS-TOKEN>

OAuth Access Token verkregen door gebruik te maken van client credentials grant

<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.

...