...
Deze SSO-functionaliteit is gebonden aan enkele deze beperkingen:
een beperkte levensduur
aanmelden moet in dezelfde browserinstantie
geen garantie dat de gebruikerscontext bewaard blijft tussen de verschillende applicaties
...
De applicatie moet een trust aanvragen voor de Mijn Burgerprofiel Client-ID (zie Bijlage - Mijn Burgerprofiel Client-ID)
Applicatie De applicatie beschikt over ondersteuning voor Token Exchange grant type;
Applicatie De applicatie beschikt over ondersteuning voor Client Credential grant type;
Implementatie
Single Sign-on vanuit een applicatie begint door het verkrijgen van een OpenID Connect Access Token (hierna afgekort als OIDC Access Token) via de authorization code grant. Eenmaal
Zodra de applicatie beschikt over een het OIDC Access Token heeft, kan de uitwisseling via de Token Exchange beginnen om een OAuth Access Token te generen welke door dat de Mijn Burgerprofiel-applicatie verwerkt kan wordenverwerken.
Opmerking: de maximum duur van de Mijn Burgerprofiel applicatieve sessie is gekoppeld aan de resterende tijdsduur van het OIDC Access Token. Om er voor ervoor te zorgen dat de user journey voor een gebruiker zo lang mogelijk is kan men best kan aangemeld blijven, is het aangeraden om eerst een refresh uitvoeren.
Token Exchange
Eenmaal Zodra de applicatie beschikt over een OIDC Access Token heeft, kan er gestart worden om een OAuth Access Token te verkrijgen. Hiervoor maken we gebruik van worden aangevraagd via delegatie volgens de Token Exchange RFC. Dit betekent dat men steeds subject en actor token moet meegeven moeten meegegeven worden tijdens de Token Exchange.
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 ons code voorbeeld maken we gebruik van een Client-ID en Secret. Echter kan deze informatie ook als Basic Authentication toegevoegd worden. In geval van een asymmetrisch sleutelpaar dient men gebruik te maken van client assertion. Zie documentatie Client Authenticatie voor meer informatie en voorbeelden. |
...
TNI:
https://burgerprofiel.tni-vlaanderen.be/?token=<MBP-TEMP-TOKEN>
https://burgerprofiel.tni-vlaanderen.be/meldingen?token=<MBP-TEMP-TOKEN>
Productie:
https://www.burgerprofiel.be/?token=<MBP-TEMP-TOKEN>
https://www.burgerprofiel.be/meldingen?token=<MBP-TEMP-TOKEN>
Anchor | ||||
---|---|---|---|---|
|
Client-ID | Omgeving | URL |
---|---|---|
80689076-8c4a-4bef-abc4-82805e17988d | TNI | |
88f04968-d331-4ae0-99d9-c6efb845841f | Productie |
...