Skip to main content
Skip table of contents

Identity & access management

Concept

Standaard is authenticatie vereist om een aanvraag (dossier) op te starten in de frontoffice alsook om de backoffice te betreden. Authenticatie gebeurt via een vertrouwde identity provider. Deze externe provider verifieert de identiteit en hoedanigheid van de gebruiker, en speelt die informatie vervolgens via een JWT-token door aan de Skryv applicatie. In het token kunnen bijkomende claims over de gebruiker vervat zitten zoals bijvoorbeeld rijksregisternummer of e-mailadres. Het voordeel is dat gebruikersbeheer binnen de Skryv applicatie zo beperkt mogelijk blijft en dat de gebruiker zich kan authenticeren in een vertrouwde omgeving.

Diagram

Onderstaand schema toont hoe identity & access management gebeurt binnen de scope van een Skryv applicatie.

Inlogprocedure

  1. De gebruiker wil inloggen en wordt automatisch, eventueel via een tussenliggende pagina, doorgestuurd naar een vertrouwde identity provider zoals ACM/IDM (Vlaamse overheid), CSAM (federale overheid) of Vanden Broele MyAccount (specifiek voor dossierbeheerders van lokale besturen die willen inloggen op de backoffice). Voor test- en acceptatieomgevingen fungeert Keycloak als identity provider.

  2. De gebruiker authenticeert zich bij de identity provider. Dit gebeurt op vertrouwde wijze via eID, itsMe of de myGov app. Voor gebruikers in de test- en acceptatieomgevingen is dit op basis van gebruikersnaam en wachtwoord.

  3. De identity provider valideert de gebruiker en verstrekt een JWT-token. Deze wordt naar de Skryv applicatie gestuurd via het Open ID Connect protocol.

  4. De Skryv applicatie weet nu op basis van de informatie in het JWT-token over welke gebruiker het gaat en start de juiste sessie op.

Meer info over inloggen op de frontoffice en op de backoffice.

Rechten & rollen

Voor elke gebruiker moeten er rechten en rollen ingesteld worden. Voor gebruikers die vanuit de frontoffice een dossier opstarten, gebeurt dit automatisch (rol ‘aanvrager’). Voor backofficemedewerkers gebeurt dit manueel vanuit het backoffice admin scherm.

Eén persoon, meerdere gebruikers

Het is mogelijk dat één en dezelfde persoon onder verschillende hoedanigheden kan inloggen op de applicatie (bijvoorbeeld als natuurlijk persoon of als bestuurder van een onderneming of vereniging). Dit resulteert dan in aparte gebruikers, elk met een eigen unieke ID.

image-20251205-131405.png

Wanneer een persoon voor de eerste keer aanmeldt als bestuurder van een onderneming of vereniging, dan wordt meteen ook een organisatie ID aangemaakt.

Team functionaliteit

Gebruikers kunnen gegroepeerd worden in een team. Deze functionaliteit heeft een andere use case in de frontoffice en de backoffice.

  • Frontoffice: gebruikers gerelateerd aan dezelfde organisatie ID vormen een team.

  • Backoffice: teams worden manueel vanuit het backoffice admin scherm samengesteld.

Klik hier voor meer informatie.

Instellingen

Volgende applicatie eigenschappen regelen de identity & access management.

Eigenschap

Beschrijving

skryv.authentication.provider

Authenticatieprotocol.

Voorbeeld: openId Deze activeert de OpenID Connect uitbreiding op OAuth en voegt een authenticatielaag toe. De gebruiker moet zich authenticeren via een Identity Provider.

Inloggen op de frontoffice (eportal)

skryv.oauth.eportal.clientId

Naam of unieke id van de applicatie zoals gekend bij de identity provider.

skryv.oauth.eportal.clientSecret

Geheime sleutel die de applicatie moet gebruiken om zich te authenticeren bij de identity provider.

skryv.oauth.eportal.scopes

Voorbeeld: openId,rrn

De openid scope activeert de OpenID Connect uitbreiding op OAuth.

De rrn scope voegt het rijksregisternummer toe aan de claims in het JWT-token.

Tijdens de authenticatieprocedure zal de gebruiker zijn of haar toestemming moeten geven om deze informatie vrij te geven aan de applicatie.

skryv.oauth.eportal.redirectUri

Adres waar de identity provider de gebruiker naar terugstuurt na login (redirect).

skryv.oauth.eportal.accessTokenUri

Endpoint van de identity provider waar de applicatie een access token kan ophalen.

skryv.oauth.eportal.userAuthorizationUri

Endpoint van de identity provider voor start van de login flow. Dit is waar de gebruiker naartoe geleid wordt nadat hij of zij op login of aanmelden klikt.

skryv.oauth.eportal.jwkUrl

JSON Web Key Set (JWKS) van de identity provider. Gebruikt door de applicatie om de handtekening in de JWT-token te valideren.

skryv.oauth.eportal.logoutRedirectUri

Adres waar de gebruiker terechtkomt na uitloggen uit de applicatie.

Inloggen op de backoffice

skryv.oauth.backoffice.clientId

Naam of unieke id van de applicatie zoals gekend bij de identity provider.

skryv.oauth.backoffice.clientSecret

Geheime sleutel die de applicatie moet gebruiken om zich te authenticeren bij de identity provider.

skryv.oauth.backoffice.scopes

Voorbeeld: openId,rrn,phone,email

De openid scope activeert de OpenID Connect uitbreiding op OAuthr.

De rrn scope voegt het rijksregisternummer, telefoonnummer en email toe aan de claims in het JWT-token.

Tijdens de authenticatieprocedure zal de gebruiker zijn of haar toestemming moeten geven om deze informatie vrij te geven aan de applicatie.

skryv.oauth.backoffice.redirectUri

Adres waar de identity provider de gebruiker naar terugstuurt na login (redirect).

skryv.oauth.backoffice.accessTokenUri

Endpoint van de identity provider waar de applicatie een access token kan ophalen.

skryv.oauth.backoffice.userAuthorizationUri

Endpoint van de identity provider voor start van de login flow. Dit is waar de gebruiker naartoe geleid wordt nadat hij of zij op login of aanmelden klikt.

skryv.oauth.backoffice.jwkUrl

JSON Web Key Set (JWKS) van de identity provider. Gebruikt door de applicatie om de handtekening in de JWT-token te valideren.

skryv.oauth.backoffice.logoutRedirectUri

Adres waar de gebruiker terechtkomt na uitloggen uit de applicatie.

skryv.openid.properties.isEmailEditable

Boolean. Indien true mag de gebruiker zelf de claim email aanpassen in de applicatie. Indien false is de claim niet editeerbaar.

skryv.openid.properties.isPhoneEditable

Boolean. Indien true mag de gebruiker zelf de claim phone aanpassen in de applicatie. Indien false is de claim niet editeerbaar.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.