Technische info

In deze sub-rubrieken worden de relevante technische details voor OpenID Connect toegelicht: deze pagina geeft een bondige samenvatting

Discovery URL

De Discovery-URL bevat de concrete URL’s van de specifieke endpoints van de oAuth Authorization Server, alsook de ondersteunde technologieën.

Implementaties die ondersteuning bieden voor het discovery endpoint kunnen volgende “issuer” gebruiken:

  • voor test: https://authenticatie-ti.vlaanderen.be/op
  • voor productie: https://authenticatie.vlaanderen.be/op

Meer …

Keys

De keys van de ACM IDP roteren automatisch: zorg er dus voor dat je deze niet gewoon éénmalig bij de configuratie opslaat.

Om de efficiëntie te verhogen wordt er aangeraden om deze keys te cachen, maar daarbij moet de cache-control max-age zeker gerespecteerd worden: deze geeft aan hoeveel seconden deze pagina maximaal gecached mag worden. Gelieve de keys zeker niet langer dan 6 uur te cachen.

Meer …

Scopes

In het integratiedossier staat beschreven welke scopes er voor de Client toegelaten worden.

Meer …

Aanmelden

Het aanmeld-proces wordt op deze link uitvoerig beschreven.

Meer …

Client Authenticatie

Voor de authenticatie van de Client bij het Token Endpoint worden verschillende mogelijkheden aangeboden:

  • Client authenticatie op basis van ClientID en Secret
    • ClientID en Secret via POST-parameters
    • ClientID en Secret via Basic Authentication
  • Client authenticatie via een JWT token

Meer …

Afmelden

Een toepassing kan (na het afmelden binnen de eigen toepassing) de sessie op de ACM IDP beëindigen door te redirecten naar het End Sesseion Endpoint.

Optioneel kunnen er een ClientID en een post-logout URI meegestuurd worden, waardoor er naar een specifieke pagina geredirect kan worden na het afmelden. Deze post-logout URL dient op voorhand geregistreerd te worden. Gelieve alle vereiste post-logout URI’s te documenteren in het integratiedossier.

Meer …

Gericht aanmelden

De toepassing kan meegeven onder welke identiteit (als welke doelgroep of organisatie) de gebruiker wenst aan te melden. Indien dit een geldige keuze is, dan zal de gebruiker transparant en zonder interactie voor de keuze van de identiteit aangemeld worden.

De identiteit wordt weergegeven als een base64 encoded JSON string die bij het aanmelden meegegeven wordt als een login_hint parameter.

Meer …

Switch identiteit

Gezien oauth over machine-to-machine communicatie gaat en machines unieke identiteiten hebben, heeft het geen zin om een switch van identiteit te doen in deze context. Indien u in een oidc context werkt, kan u daarover hier meer info vinden.

Meer …

Session timeouts

De toepassing bepaalt zelf de session timeouts van de eigen toepassing.

Bij een authenticatie wordt er enkel een sessie opgebouwd op de ACM IDP gedurende de authenticatie. Deze sessie bepaalt ook of men een single sign-on kan krijgen als men voor het vervallen van deze sessie naar een andere ACM-ontsloten toepassing zou navigeen. Maar de sessie op de ACM IDP heeft geen impact op de sessie van de toepassig zelf.

Meer …

Refresh Token

De Client kan duidelijk maken dat hij ook een Refresh Token wenst te ontvangen door de scope “offline_access” toe te voegen.

Meer …

PKCE

Bij publieke Clients (zoals mobiele apps en Single Page Applications) die de OpenID Connect Authorization Code Flow gebruiken, zijn er aanvallen mogelijk waarbij de Authorization Code onderschept wordt. Proof Key for Code Exchange (PKCE), “pixy” genaamd, biedt een techniek om dit soort aanvallen te mitigeren.

De Client kan bij het Authenticatie Request een code_challenge doorsturen en bij het opvragen van de tokens een code_verifier: de ACM IDP kan dan valideren dat het token-request effectief komt van de Client die de authenticatie opstartte.

Meer …

Rate limit

Om allerhande aanvallen (zoals bijvoorbeeld het raden van Authorization Codes) tegen te gaan, worden het aantal foutieve verzoeken per afzender bijgehouden. Indien het aantal foutieve verzoeken vanaf een bepaald IP-adres een limiet overschreidt, dan wordt er gedurende een bepaalde tijd geen enkel verzoek meer voor dit IP-adres verwerkt.

Meer …