Skip to main content
Skip table of contents

Identity provider

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 kan je een identity provider naar keuze gebruiken (zolang die compatibel is met het Open ID Connect protocol).

  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

Default

Beschrijving

Application properties

skryv.authentication.provider

skryv-ldap-jwt

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. Mogelijkheden: openId, skryv-ldap-jwt of mbp

skryv.oauth.client-id

-

OAuth client ID

skryv.oauth.secret

-

OAuth client secret

skryv.oauth.tokenUri

-

OAuth token endpoint URI

LdapJwtTokenParser

skryv.oauth.signing-key

-

Key for signing JWT tokens (LDAP auth)

IdpClientAutoConfiguration

skryv.oauth.userUri

-

OAuth user info endpoint URI

OpenIdClientProperties (inloggen op de frontoffice - eportal)

skryv.oauth.eportal.clientId

-

Front office OpenID client ID. Naam of unieke id van de applicatie zoals gekend bij de identity provider.

skryv.oauth.eportal.clientSecret

-

Front office OpenID client secret. Geheime sleutel die de applicatie moet gebruiken om zich te authenticeren bij de identity provider.

skryv.oauth.eportal.scopes

[“openId”]

Front office OpenID 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

-

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

skryv.oauth.eportal.accessTokenUri

-

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

skryv.oauth.eportal.userAuthorizationUri

-

Front office user authorization URI. 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

-

Front office JWK URL. 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

-

Front office logout redirect URI. Adres waar de gebruiker terechtkomt na uitloggen uit de applicatie.

OpenIdClientProperties (inloggen op de backoffice)

skryv.oauth.backoffice.clientId

-

Back office OpenID client ID. Naam of unieke id van de applicatie zoals gekend bij de identity provider.

skryv.oauth.backoffice.clientSecret

-

Back office OpenID client secret. Geheime sleutel die de applicatie moet gebruiken om zich te authenticeren bij de identity provider.

skryv.oauth.backoffice.scopes

[“openId”]

Back office OpenID scopes.

Voorbeelden: 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

-

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

skryv.oauth.backoffice.accessTokenUri

-

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

skryv.oauth.backoffice.userAuthorizationUri

-

Back office user authorization URI. 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

-

Back office JWK URL. 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

-

Back office logout redirect URI. Adres waar de gebruiker terechtkomt na uitloggen uit de applicatie.

OpenIdClientsConfiguration

skryv.eportal.disabled

false

Disable front office / eportal

OpenIdProperties

skryv.openid.properties.isEmailEditable

true

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

true

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

IdpSync

skryv.ldap.requiredGroup

-

Required LDAP group for back office access

JwtUtil

skryv.guest.tokenKey

-

JWT token key for guest access

JavaScript errors detected

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

If this problem persists, please contact our support.