Afmelden

Voor het afmelden maakt de ACM IDP geen gebruik van het SAML Single Logout Protocol (SLO), maar wordt er een alternatieve logout voorzien

Het SAML Logout Protocol (wordt NIET aanbevolen)

De SAML standaard voorziet logout via het Single Logout Protocol (SLO), waarbij er een logout gebeurt op de Identity Provider en sequentieel op alle Service Providers met een actieve sessie met die Identity Provider.

Dit mechanisme kent vele beperkingen:

  • functioneel betekent dit dat de gebruiker bij het afmelden in één toepassing meteen afgemeld wordt voor al zijn actieve sessies (met andere Service Providers): dit is niet wenselijk.
  • de sessie wordt enkel afgemeld indien de Service Provider SLO correct implementeerde. De gebruiker krijgt geen notificatie indien dit voor een specifieke Service Provider faalde.
  • indien één van de actieve Service Providers geen SLO ondersteunt, kan het zijn dat de single logout voor de gebruiker faalt. Toepassingen zijn dus afhankelijk van elkaar voor een correcte logout op de eigen toepassing.
  • het SLO-protocol staat ervoor bekend om behoorlijk complex en fragiel voor foutieve imlplementaties te zijn.
  • SLO gebeurt binnen de standaard enkel voor SAML-integraties: toepassingen die via OpenID Connect, oAuth of HTTP-header ontsloten werden, worden niet afgemeld.
  • Enkel de Service Providers en Identity Providers worden bij SLO afgemeld, eventuele bovenliggende IDP’s zoals bvb. CSAM worden standaard niet opgenomen in de SLO. Dit betekent dat een gebruiker potentieel wel overal afgemeld is, maar niet bij CSAM. Als de gebruiker dan naar een toepassing surft, dan wordt de gebruiker terug transparant aangemeld op de toepassing.

Hoewel de ACM IDP ondersteuning biedt voor het SLO Protocol, adviseren we om dit omwille van bovenstaande beperkingen NIET te gebruiken.

Logout op de ACM IDP

De ACM IDP voorziet volgend alternatief om af te melden:

  • voer in de toepassing een lokale logout uit (dus geen SAML SLO)
  • redirect nadien naar https://authenticatie-ti.vlaanderen.be/stb/html/pages?TAM_OP=logout&returnurl=$URL
  • $URL is hierbij de URL (URL-encoded) waarnaar geredirect moet worden na de logout. Indien er geen returnurl-parameter wordt meegegeven, dan geeft de ACM IDP zelf een melding dat de logout voltooid is.
  • -ti enkel toe te voegen voor de TEST-omgeving

Deze sterk vereenvoudigde logout-procedure zorgt ervoor dat de gebruiker/browser afgemeld wordt op de toepassing, op de ACM IDP en op eventuele upstream IDP’s (zoals bvb. de CSAM IDP).

Andere toepassingen (die bijvoorbeeld opgestart zijn in aparte tabbladen) zijn door deze logout niet geïmpacteerd en de gebruiker kan in die actieve toepassingen verder werken. Als de gebruiker naar een nieuwe toepassing gaat, zal hij opnieuw moeten aanmelden in ACM (single sign-on is na het afmelden van één van de toepassingen dus niet meer mogelijk).

Voorbeeld

Indien men na de lokale logout in de toepassing wil afmelden in ACM IDP (en upstream IDP’s): na het afmelden zal men finaal landen op https://www.vlaanderen.be

https://authenticatie-ti.vlaanderen.be/stb/html/pages?TAM_OP=logout&returnurl=https%3A%2F%2Fwww.vlaanderen.be