Nederlands
  • sso
  • authenticatie
  • identiteit

Waarom single sign-on (SSO) beter is

Single sign-on (SSO) is een geweldige manier om het authenticatiemodel te vereenvoudigen en de gebruikerservaring voor elke app te verbeteren. Hier is waarom.

Gao
Gao
Founder

Single sign-on (SSO) is een technologie waarmee gebruikers zich eenmalig kunnen authenticeren en toegang kunnen krijgen tot meerdere applicaties. Als je slechts één applicatie hebt, kan het als overkill klinken. Echter, als je vanaf het begin met SSO start, kun je op de lange termijn veel hoofdpijn besparen, en het implementeren van SSO is gemakkelijker dan je denkt.

Voordat we beginnen, moeten we opmerken dat er twee soorten SSO zijn:

  • Het eerste type is wanneer je meerdere applicaties hebt die dezelfde gebruikersdatabase delen. Dit is het type SSO dat we in dit artikel zullen bespreken.
  • Het tweede type is wanneer jouw klant een gecentraliseerde identity provider (IdP) heeft waarmee je moet integreren. Dit valt buiten de scope van dit artikel.

Waarom SSO?

Vereenvoudig het authenticatiemodel

Het meest voor de hand liggende voordeel van SSO is dat het het authenticatiemodel vereenvoudigt. Stel je voor dat je begint met een online winkel, het initiële authenticatiemodel is eenvoudig:

Naarmate je bedrijf groeit, besluit je een winkelbeheer-app toe te voegen zodat winkeleigenaren hun winkels kunnen beheren. Nu heb je twee applicaties die gebruikers moeten authenticeren.

Hier zijn enkele keuzes die je hebt:

1. Je kunt een aparte gebruikersdatabase maken voor de winkelbeheer-app.

Dit is de eenvoudigste oplossing, maar het betekent dat je het authenticatieproces voor de winkelbeheer-app moet implementeren en gebruikers een nieuw account moeten aanmaken om de app te gebruiken.

2. Je kunt dezelfde gebruikersdatabase gebruiken voor beide applicaties.

Dit is een betere oplossing omdat gebruikers geen nieuw account hoeven aan te maken. Echter, je moet nog steeds het authenticatieproces voor de winkelbeheer-app implementeren.

3. Je kunt SSO gebruiken.

Dit is de beste oplossing tot nu toe. Je hoeft geen ander authenticatieproces te implementeren en gebruikers hoeven geen nieuw account aan te maken voor de winkelbeheer-app. Bovendien kun je meer applicaties en inlogmethoden toevoegen zonder het authenticatiemodel of de gebruikerservaring te veranderen.

Verbeter de gebruikerservaring

SSO verbetert de gebruikerservaring op twee manieren:

  • Gebruikers kunnen hetzelfde account delen voor meerdere applicaties.
  • Zodra gebruikers zich bij een applicatie hebben aangemeld, hoeven ze zich niet opnieuw aan te melden bij andere applicaties op hetzelfde apparaat.

Er kunnen hier enkele zorgen ontstaan, maar deze zijn allemaal aan te pakken.

1. Hoe toepassingen te onderscheiden?

Single sign-on betekent niet dat we alle applicaties hetzelfde behandelen. In de bekende open standaard OpenID Connect wordt elke applicatie een client genoemd, en de authenticatiestromen verschillen afhankelijk van het clienttype. Terwijl de eindgebruikers het verschil niet hoeven te kennen, is het clienttype belangrijk voor de authenticatieserver om de authenticatiestroom te bepalen.

2. Wat als gebruikers hetzelfde account niet willen delen?

Dit is een geldige zorg, maar het is geen probleem met SSO. Als gebruikers hetzelfde account niet willen delen, kunnen ze een nieuw account aanmaken voor de nieuwe applicatie. Het belangrijkste is om gebruikers de keuze te geven.

3. Wat als ik de toegang tot bepaalde applicaties moet beperken?

SSO is in feite een techniek voor authenticatie, terwijl toegangscontrole voor autorisatie is. SSO kan losgekoppeld worden van toegangscontrole. Je kunt bijvoorbeeld SSO gebruiken om gebruikers te authenticeren en vervolgens role-based access control (RBAC) gebruiken om de toegang tot bepaalde applicaties of resources te beperken.

Om meer te leren over authenticatie en autorisatie, bekijk CIAM 101: Authenticatie, Identiteit, SSO.

4. SSO vereist het omleiden van gebruikers naar de authenticatieserver.

Omleiden is een standaardpraktijk voor authenticatie. Gezien de gebruikerservaring kunnen we meerdere technieken benutten om de wrijving te verminderen:

  • Gebruik refreshtokens om de authenticatiefrequentie te verminderen.
  • Start het authenticatieproces met een specifieke inlogmethode, zoals Google of Facebook, om het aantal klikken te verminderen.
  • Maak gebruik van stille authenticatie om het authenticatieproces te versnellen.

Verhoog de beveiliging

1. Een centrale plek voor alle beveiligingsgerelateerde operaties

SSO stelt je in staat om alle beveiligingsgerelateerde operaties op een centrale plek te beheren. Bijvoorbeeld, zoals we in de vorige sectie hebben vermeld, kan SSO nog steeds applicaties onderscheiden en platformspecifieke authenticatiestromen voor elke applicatie toepassen. Zonder SSO moet je verschillende authenticatiestromen implementeren afhankelijk van het applicatietype.

Bovendien zijn geavanceerde beveiligingsfuncties zoals multi-factor authentication (MFA) gemakkelijker te implementeren met SSO zonder het authenticatiemodel in de war te brengen.

2. Verminderd aanvalsvlak

In theorie vermindert SSO het aanvalsvlak omdat je slechts één authenticatieserver hoeft te beveiligen in plaats van meerdere applicaties. De gecentraliseerde aanpak maakt het ook gemakkelijker om verdachte activiteiten te monitoren en te detecteren.

3. Beproefde standaarden en protocollen

Open standaarden en protocollen zoals OpenID Connect en OAuth 2.0 worden op grote schaal in de industrie gebruikt en zijn door jaren van beproeving gegaan. Beide stemmen overeen met het concept van SSO en worden ondersteund door de meeste identity providers (IdP's). Door deze standaarden te combineren met SSO kun je een veilig en betrouwbaar authenticatiesysteem hebben.

OK, laten we SSO implementeren

Het implementeren van SSO kan groot en gecompliceerd zijn, er zijn veel dingen om te overwegen, zoals:

  • Naleving van standaarden en protocollen
  • Authenticatiestromen voor verschillende clienttypes
  • Meerdere inlogmethoden
  • Beveiligingsfuncties zoals MFA
  • Gebruikerservaring
  • Toegangscontrole

Elk van deze onderwerpen kan een apart artikel zijn en overweldigend. Voor de eenvoudigheid is het beter om te beginnen met een beheerde service die SSO out-of-the-box biedt. Ons product Logto is zo'n service, en het kost je slechts enkele minuten om het in je applicatie te integreren.

Een van de meest voorkomende zorgen over het gebruik van een beheerde service is vendor lock-in. Gelukkig is dit geen probleem met Logto. Logto is gebouwd op OpenID Connect en OAuth 2.0, en het is geboren open-source. We geven prioriteit aan het bieden van zekerheid aan onze klanten en streven ernaar om je te versterken met de vrijheid om te kiezen.