Versions Compared

Key

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

...

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
bijlage-mbp-client-id
bijlage-mbp-client-id
Bijlage - Mijn Burgerprofiel Client-ID

Client-ID

Omgeving

URL

80689076-8c4a-4bef-abc4-82805e17988d

TNI

https://burgerprofiel.tni-vlaanderen.be

88f04968-d331-4ae0-99d9-c6efb845841f

Productie

https://www.burgerprofiel.be