...
Swagger integration | ||
---|---|---|
| ||
{ "openapi": "3.0.2", "info": { "title": "Aanvraagmodule - SSO Token", "version": "1.0" }, "components": { "schemas": { "RequestToken": { "type": "object", "required": [ "token", "token_type" ], "properties": { "token": { "type": "string", "description": "Token ontvangen via IdP Token Exchange" }, "token_type": { "type": "string", "description": "Type token ontvangen via IdP Token Exchange", "enum": [ "urn:ietf:params:oauth:token-type:access_token" ] } } }, "ResponseTempToken": { "type": "object", "required": [ "token" ], "properties": { "token": { "type": "string", "description": "Tijdelijk SSO Token" } } }, "ClientError": { "type": "object", "required": [ "error" ], "properties": { "error": { "type": "string", "description": "Foutmelding" } } }, "ServerError": { "type": "string" } } }, "servers": [ { "description": "TNIForm provider", "url": "https://burgerprofielformulier.tni-vlaanderen.be" }, { "description": "Productie", "url": "https://www.burgerprofiel.be" } ], "paths": { "/auth/v1/token": { "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestToken" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/RequestToken" } } } }, "responses": { "200": { "description": "Vraagstelling is geaccepteerd en een tijdelijk token werd gegenereerd", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseTempToken" } } } }, "400": { "description": "Vraagstelling ontbreekt verplichte velden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientError" } } } }, "401": { "description": "Ongeldig of vervallen token in de vraagstelling", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientError" } } } }, "500": { "description": "Onverwacht probleem opgetreden in de applicatie bij het verwerken van het token", "content": { "text/html": { "schema": { "$ref": "#/components/schemas/ServerError" } } } } } } } } } |
Tot slot moet zal het verkregen tijdelijk token door Mijn Burgerprofiel worden doorgegeven als query parameters parameter via de formulier URL. De exacte waarde die gebruikt zal worden voor de query parameter naam dient door te stromen via de Formulieren API specificatie.
...
Wanneer de aanvraagmodule een token ontvangt dient men volgende stappen uit te voeren:
Controleer dat het tijdelijk token niet vervallen is (we raden aan een periode < 5 minuten te nemen)
Controleer dat het tijdelijk token voor de eerste keer werd gebruiktnog niet gebruikt is
Valideer het uitgewisselde OAuth Access Token (zie https://authenticatie.vlaanderen.be/docs/beveiligen-van-api/oauth-rest/rest-namens-gebruiker/rest-token-exchange/valideer-access-token/ )
Indien aan alle voorgenoemde voorwaarden is voldaan zal kan de aanvraagmodule een nieuwe sessie opstarten op basis van de gebruikerscontext beschikbaar gesteld via het OAuth Access Token.
...