Svenska
  • sso
  • autentisering
  • identitet

Varför single sign-on (SSO) är bättre

Single sign-on (SSO) är ett utmärkt sätt att förenkla autentiseringsmodellen och förbättra användarupplevelsen för varje app. Här är varför.

Gao
Gao
Founder

Single sign-on (SSO) är en teknik som tillåter användare att autentisera sig en gång och få tillgång till flera applikationer. Om du bara har en applikation kan det låta som överdrivet. Men att börja med SSO från början kan spara dig mycket huvudvärk längre fram, och att implementera SSO är enklare än du tror.

Innan vi börjar, måste vi notera att det finns två typer av SSO:

  • Den första typen är när du har flera applikationer som delar samma användardatabas. Detta är den typ av SSO vi kommer att diskutera i denna artikel.
  • Den andra typen är när din klient har en centraliserad identitetsleverantör (IdP) och du behöver integrera med den. Detta ingår inte i denna artikel.

Varför SSO?

Förenkla autentiseringsmodellen

Den mest uppenbara fördelen med SSO är att det förenklar autentiseringsmodellen. Föreställ dig att du börjar med en nätbutik, den initiala autentiseringsmodellen är enkel:

När ditt företag växer, bestämmer du dig för att lägga till en butiksadministrationsapp för att tillåta butikschefer att hantera sina butiker. Nu har du två applikationer som behöver autentisera användare.

Här är några valmöjligheter du har:

1. Du kan skapa en separat användardatabas för butiksadministrationsappen.

Detta är den enklaste lösningen, men det innebär att du måste implementera autentiseringsprocessen för butiksadministrationsappen och användare måste skapa ett nytt konto för att använda appen.

2. Du kan använda samma användardatabas för båda applikationerna.

Detta är en bättre lösning eftersom användare inte behöver skapa ett nytt konto. Men du måste ändå implementera autentiseringsprocessen för butiksadministrationsappen.

3. Du kan använda SSO.

Detta är den bästa lösningen hittills. Du behöver inte implementera en annan autentiseringsprocess och användare behöver inte skapa ett nytt konto för butiksadministrationsappen. Dessutom kan du lägga till fler applikationer och inloggningsmetoder utan att ändra autentiseringsmodellen eller användarupplevelsen.

Förbättra användarupplevelsen

SSO förbättrar användarupplevelsen på två sätt:

  • Användare kan dela samma konto över flera applikationer.
  • När användare har loggat in i en applikation behöver de inte logga in igen i andra applikationer på samma enhet.

Vissa bekymmer kan uppstå här, men de är alla åtgärdbara.

1. Hur särskiljer man applikationer?

Single sign-on innebär inte att vi behandlar alla applikationer lika. I den välkända öppna standarden OpenID Connect kallas varje applikation för en klient, och autentiseringsflödena skiljer sig beroende på klienttyp. Medan de slutliga användarna inte behöver känna till skillnaden är klienttypen viktig för autentiseringsservern för att bestämma autentiseringsflödet.

2. Vad händer om användare inte vill dela samma konto?

Detta är ett giltigt bekymmer, men det är inget problem med SSO. Om användare inte vill dela samma konto kan de skapa ett nytt konto för den nya applikationen. Nyckeln är att ge användarna valet att välja.

3. Vad gör jag om jag behöver begränsa åtkomst till vissa applikationer?

Faktum är att SSO är en teknik för autentisering, medan åtkomstkontroll handlar om auktorisering. SSO kan separeras från åtkomstkontroll. Till exempel kan du använda SSO för att autentisera användare och sedan använda rollbaserad åtkomstkontroll (RBAC) för att begränsa åtkomst till vissa applikationer eller resurser.

För att lära dig mer om autentisering och auktorisering, kolla in CIAM 101: Authentication, Identity, SSO.

4. SSO kräver omdirigering av användare till autentiseringsservern.

Omdirigering är en standardpraxis för autentisering. Med tanke på användarupplevelsen kan vi använda flera tekniker för att minska friktionen:

  • Använd uppfriskningstokener för att minska frekvensen av autentisering.
  • Initiera autentiseringsprocessen med en specifik inloggningsmetod, såsom Google eller Facebook, för att minska antalet klick.
  • Använd tyst autentisering för att snabba upp autentiseringsprocessen.

Förbättra säkerheten

1. En central plats för alla säkerhetsrelaterade operationer

SSO tillåter dig att hantera alla säkerhetsrelaterade operationer på ett centralt ställe. Till exempel, som vi nämnde i föregående avsnitt, kan SSO fortfarande särskilja applikationer och tillämpa plattformsspecifika autentiseringsflöden för varje applikation. Utan SSO behöver du implementera olika autentiseringsflöden beroende på applikationstyp.

Dessutom är avancerade säkerhetsfunktioner som multifaktorautentisering (MFA) enklare att implementera med SSO utan att röra till autentiseringsmodellen.

2. Minskat attackyta

I teorin minskar SSO attackytan eftersom du bara behöver säkra en autentiseringsserver istället för flera applikationer. Den centraliserade metoden gör det också enklare att övervaka och upptäcka misstänkta aktiviteter.

3. Beprövade standarder och protokoll

Öppna standarder och protokoll såsom OpenID Connect och OAuth 2.0 används allmänt i branschen och har testats i flera år. Båda matchar konceptet med SSO och stöds av de flesta identitetsleverantörer (IdP). Genom att kombinera dessa standarder med SSO kan du ha ett säkert och tillförlitligt autentiseringssystem.

OK, låt oss implementera SSO

Att implementera SSO kan vara stort och komplicerat, det finns många saker att ta hänsyn till, såsom:

  • Överensstämmelse med standarder och protokoll
  • Autentiseringsflöden för olika klienttyper
  • Flera inloggningsmetoder
  • Säkerhetsfunktioner såsom MFA
  • Användarupplevelse
  • Åtkomstkontroll

Var och en av dessa ämnen kan vara en separat artikel och överväldigande. För enkelhetens skull är det bättre att börja med en hanterad tjänst som tillhandahåller SSO färdigt. Vår produkt Logto är en sådan tjänst och det tar bara några minuter att integrera den i din applikation.

Ett av de vanligaste bekymren med att använda en hanterad tjänst är leverantörslåsning. Lyckligtvis är detta inte ett problem med Logto. Logto är byggd ovanpå OpenID Connect och OAuth 2.0 och den är född öppen källkod. Vi prioriterar att ge försäkran till våra kunder och strävar efter att ge dig friheten att välja.