How does single sign-on (SSO) work?

SSO: Forenklet Login for Dine Mobile Enheder

29/03/2022

Rating: 4.45 (948 votes)

I en verden, hvor vi jonglerer med et stigende antal apps og online-tjenester på vores iPhones og andre mobile enheder, er behovet for en mere strømlinet og sikker login-proces blevet altafgørende. Indtast Single Sign-On (SSO) – en autentificeringsmetode, der tillader brugere at logge ind én gang og få adgang til flere applikationer eller tjenester uden at skulle autentificere sig igen for hver enkelt. Forestil dig at kunne tilgå alle dine arbejdsapps, sociale medier og cloud-tjenester med blot ét sæt login-oplysninger. Det er præcis, hvad SSO tilbyder: en markant forbedring af både brugervenlighed og digital sikkerhed.

How does single sign-on (SSO) work?
Learn how Single Sign-On (SSO) works, the differences between SAML and OIDC, and how to add enterprise-grade authentication to your app in minutes with WorkOS. Single Sign-On (SSO) is an authentication method that allows users to log in once and gain access to multiple applications or services without having to authenticate again for each one.
Indholdsfortegnelse

Hvad er Single Sign-On (SSO)?

Single Sign-On (SSO) er en sikker autentificeringsmetode, der giver brugere mulighed for at få adgang til flere applikationer med kun ét sæt login-oplysninger. I stedet for at skulle huske et brugernavn og en adgangskode for hvert værktøj, de bruger – hvad enten det er Slack, Salesforce eller interne dashboards – logger brugere ind én gang via en identitetsudbyder (IdP), og denne autentificering stoles der på af andre tjenester. Dette centraliserede login-system hjælper organisationer med at strømline adgangskontrol, forbedre sikkerheden og reducere friktion for slutbrugere. Det gør også livet lettere for IT-teams, som kan håndhæve sikkerhedspolitikker og administrere brugeradgang fra ét centralt sted.

For organisationer forbedrer SSO markant sikkerhedspositionen og brugeroplevelsen. Det centraliserer identitetsstyring, reducerer antallet af helpdesk-billetter relateret til glemte adgangskoder og gør det lettere at kontrollere adgangen, når medarbejdere starter eller stopper. Fra et produktperspektiv er SSO i stigende grad et grundlæggende krav, især for virksomheder der bygger B2B SaaS-apps, hvor integration af SSO ofte er en forudsætning for at lande store virksomhedskunder.

Hvordan fungerer Single Sign-On (SSO)?

Kernen i SSO er ideen om at delegere tillid fra én tjeneste (en tjenesteudbyder, eller SP) til et andet system (en identitetsudbyder, eller IdP). I stedet for selv at autentificere brugere, omdirigerer applikationer brugere til en IdP, de stoler på – såsom Okta, Azure AD, Google Workspace eller Ping Identity.

Når IdP'en autentificerer brugeren, sender den en kryptografisk signeret SAML-påstand (i SAML) eller ID-token (i OIDC) tilbage til applikationen. Denne påstand eller token indeholder oplysninger som brugerens e-mail, navn og unikke identifikator. Hvis signaturen stemmer, stoler appen på identitetspåstanden og logger brugeren ind. Dette adskiller autentificering fra applikationslogik, hvilket er mere sikkert og skalerbart på tværs af mange tjenester.

Den trin-for-trin SSO-autentificeringsflow:

  1. Bruger besøger din app (tjenesteudbyderen): For eksempel, app.firma.dk/dashboard. Appen registrerer, at brugeren ikke er logget ind og initierer SSO.
  2. App omdirigerer brugeren til IdP'en: Den konstruerer en SAML-autentificeringsanmodning og sender den til en IdP.
  3. Bruger logger ind hos IdP'en: Brugeren indtaster loginoplysninger (f.eks. deres firmamail og adgangskode). IdP'en autentificerer dem – eventuelt ved hjælp af to-faktor-autentifikation (2FA) eller biometrisk autentificering.
  4. IdP returnerer en SAML-påstand eller OIDC-token: Når brugeren er autentificeret, sender IdP'en et signeret SAML-svar eller ID-token tilbage til appen (typisk via en browser POST eller REST-kald).
  5. Appen validerer tokenet og giver adgang: Hvis påstanden er gyldig, logger appen brugeren ind, eventuelt ved at oprette en ny brugerkonto ved hjælp af JIT (just-in-time) klargøring.

SAML vs. OIDC: Hvad er forskellen?

De to mest almindelige protokoller, der bruges til at implementere Single Sign-On, er SAML (Security Assertion Markup Language) og OIDC (OpenID Connect). Mens begge tjener det samme formål – at muliggøre delegeret autentificering – adskiller de sig i, hvordan de fungerer under overfladen.

How does single sign-on (SSO) work?

SAML bruger XML-formaterede påstande og er typisk afhængig af browser-omdirigeringer med form POSTs, hvilket gør den almindelig i ældre virksomhedssystemer. OIDC, der er bygget på OAuth 2.0, bruger JSON Web Tokens (JWTs) og REST-baserede flows, hvilket gør den til et bedre match for moderne web- og mobile applikationer, herunder dem på iPhones og Android-telefoner.

Sammenligning af SAML og OIDC:

FunktionSAMLOIDC (OpenID Connect)
TokenformatXMLJSON (JWT)
TransportBrowser-omdirigeringer + form POSTREST-baseret (moderne apps, API'er)
Bedst tilVirksomheder, ældre apps (f.eks. Salesforce)Moderne web- & mobile apps (f.eks. iPhone/Android apps)
TokenindholdBrugerattributter, påstandeID-token, adgangstoken
UdvikleroplevelseMere kompleks (XML, konfigurations-tung)Enklere, veldokumenteret flow

Valget mellem SAML og OIDC afhænger ofte af den specifikke anvendelse og de eksisterende systemer. For mobile applikationer er OIDC generelt foretrukket på grund af dens letvægts JSON-format og RESTful-natur, som passer bedre til mobile API-kald.

Sikkerhedsovervejelser ved SSO

Selvom SSO forbedrer brugervenligheden markant, er det også et kraftfuldt sikkerhedsværktøj, men det kræver, at visse bedste praksisser følges for at maksimere fordelene og minimere risici:

  • Tillidsforhold: Et grundlæggende krav for SSO-opsætning er etablering af et tillidsforhold mellem en IdP og en SP gennem udveksling af metadata. Disse metadata omfatter hver parts entitets-ID'er, offentlige nøgler og endepunkter, hvilket muliggør digital signaturvalidering på et senere tidspunkt og sikrer, at kun legitime systemer kommunikerer.
  • Digitale signaturer: Baseret på public-key kryptografi er den digitale signatur et vigtigt aspekt, der hjælper med at sikre ægtheden og integriteten af de tokens, der overføres fra IdP'en til SP'en. Hvis tokenet manipuleres under overførslen, vil signaturen fejle, hvilket resulterer i afvisning af autentificeringsanmodningen.
  • Sikker kommunikation (HTTPS/TLS): Al kommunikation mellem brugeren, IdP'en og SP'en udføres over en sikker forbindelse, sikret af TLS (Transport Layer Security). Dette forhindrer, at tokenet opsnappes under overførslen og hjælper med at undgå man-in-the-middle (MITM) angreb.
  • Tokenudløb og levetider: Tokens indeholder information om deres levetid og udløbstid. Dette er vigtigt, fordi det informerer systemet om, hvor længe tokenet er gyldigt, og efterlader ingen chance for angribere til at genbruge tokenet senere, da SP'en vil afvise udløbne tokens.
  • Validering af målgruppe og udsteder: Disse parametre, der angiver tokenets udsteder-ID og modtagerdata, deles også i tokenets metadata og hjælper med at sikre, at tokenet blev udstedt af en betroet kilde og når den rigtige SP. Dette hjælper med at forhindre token-genbrug på tværs af forskellige apps eller domæner.
  • Ekstra sikkerhed: SSO muliggør implementering af yderligere mekanismer, der tilføjer et ekstra lag af sikkerhed, såsom Single Logout (SLO) og Multi-Factor Authentication (MFA). SLO giver funktionen af centraliseret log-ud – brugeren vil blive logget ud af alle de forbundne systemer, når de logger ud fra et af dem. MFA stimulerer brugen af et “sekundært” system eller enhed til login for at kontrollere brugerens identitet endnu en gang, hvilket er særligt relevant for mobile enheder, hvor 2FA ofte integreres med fingeraftryk eller ansigtsgenkendelse.
  • Klargøringsstrategi: Just-In-Time (JIT) klargøring opretter brugerkonti i øjeblikket for første login. SCIM klargøring lader identitetsudbydere skubbe bruger- og gruppedata til din app – automatisk oprette, opdatere og slette konti, når ændringer sker i IdP'en. Dette sikrer, at adgangen tilbagekaldes, når en medarbejder forlader virksomheden, hvilket reducerer risikoen.
  • Revisionsspor og logning: Vedligehold logs over, hvem der autentificerede sig, hvornår og hvorfra. De fleste IdP'er leverer hændelseslogs, men du bør også logge autentificeringshændelser i din app til revision og hændelsesrespons.

Implementering af Single Sign-On for din app

Implementering af virksomhedsklar Single Sign-On i din app kræver en række trin. For udviklere, især dem der bygger apps til iPhone og Android, er det afgørende at forstå de underliggende principper, selvom mange værktøjer og SDK'er forenkler processen:

  1. Vælg en IdP og protokol: Beslut hvilken identitetsudbyder (f.eks. Okta, Azure AD, Google Workspace) og protokol (SAML eller OIDC) der bedst passer til dine behov og dine kunders krav. For mobile apps er OIDC ofte det foretrukne valg.
  2. Integrer en SDK eller API: Brug en relevant Software Development Kit (SDK) eller API i din applikation. Disse værktøjer abstraherer kompleksiteten ved SAML- eller OIDC-protokollerne og giver dig en enklere måde at initiere SSO-flows og håndtere autentificerings-callbacks.
  3. Konfigurer din omdirigerings-URI: Dette er din apps endepunkt, som IdP'en vil omdirigere til, efter at en bruger er autentificeret. Det er afgørende for en sikker og korrekt SSO-flow.
  4. Byg din autentificerings-brugerflade: Du kan enten bygge din egen login-brugerflade eller bruge en forudbygget løsning, der integreres med din valgte SDK/API.
  5. Forbind identitetsudbyderen: Konfigurer forbindelsen til identitetsudbyderen i din apps backend eller via en IdP-styringsplatform. Dette involverer udveksling af metadata (f.eks. certifikater og endepunkter) mellem din app (SP) og IdP'en.
  6. Håndter brugersessionen: Når brugeren er autentificeret og IdP'en returnerer et godkendt profil, skal din app oprette og administrere brugersessionen, så brugeren kan få adgang til appens funktioner.

Denne proces sikrer, at uanset om dine kunder bruger Azure AD med SAML, Google Workspace med OIDC eller noget andet, håndterer din integration de protokol-specifikke detaljer, så du ikke behøver at gøre det manuelt for hver enkelt.

Ofte Stillede Spørgsmål om SSO

Hvad er den største fordel ved SSO?

Den største fordel ved SSO er markant forbedret brugervenlighed og sikkerhed. Brugere skal kun huske ét sæt loginoplysninger, hvilket reducerer adgangskode-træthed og risikoen for genbrug af svage adgangskoder. For IT-afdelinger giver det centraliseret kontrol over brugeradgang og sikkerhedspolitikker.

Er SSO sikkert?

Ja, SSO er generelt meget sikkert, når det implementeres korrekt. Det bruger avancerede kryptografiske metoder, digitale signaturer og sikre kommunikationsprotokoller (som HTTPS/TLS). Desuden understøtter det funktioner som multi-faktor-autentifikation (MFA) og single logout (SLO), hvilket yderligere forbedrer sikkerheden.

How do you implement single sign-on (SSO) integration?
An effective software implementation plan for Single Sign-On (SSO) integration should encompass thorough planning, stakeholder alignment, robust testing, and seamless deployment to ensure a secure and user-friendly authentication experience. How Does SSO Work?

Hvad er en IdP og en SP?

En Identitetsudbyder (IdP) er den tjeneste, der gemmer brugeridentiteter og udfører autentificeringen (f.eks. Okta, Azure AD). En Tjenesteudbyder (SP) er den applikation eller tjeneste, som brugeren ønsker at få adgang til, og som delegerer autentificeringen til IdP'en (f.eks. din SaaS-app).

Kan SSO bruges på mobile enheder som iPhones og Android-telefoner?

Absolut! SSO er yderst relevant for mobile enheder. Med den stigende brug af apps på smartphones og tablets er SSO afgørende for at give en problemfri og sikker login-oplevelse. Protokoller som OIDC er særligt velegnede til mobile applikationer på grund af deres letvægts JSON-baserede tokens og RESTful API-kompatibilitet.

Hvilke er de mest almindelige SSO-protokoller?

De to mest almindelige protokoller er SAML (Security Assertion Markup Language) og OIDC (OpenID Connect), som er bygget oven på OAuth 2.0. SAML er ofte brugt i ældre virksomhedssystemer, mens OIDC er mere populær for moderne web- og mobile applikationer.

Afsluttende tanker: Hvorfor SSO er vigtigt for SaaS og mobile brugere

Single Sign-On er en fundamental kapacitet for enhver SaaS-virksomhed, der ønsker at vokse og forbedre sin brugeroplevelse. Det muliggør friktionsfri login for brugere, håndhæver IT-kontrol for indkøbere og reducerer kompleksiteten for udviklere. For iPhone- og Android-brugere betyder det en markant mere behagelig og sikker digital hverdag, hvor man slipper for at huske og indtaste utallige adgangskoder.

Ved at overlade autentificeringen til betroede identitetsudbydere reducerer du risikoen for adgangskodebaserede angreb – men du skal stadig håndtere klargøring, autorisation og overvågning. SSO er ikke kun en bekvemmelighed; det er en hjørnesten i moderne digital sikkerhed og en forudsætning for en optimal brugeroplevelse på tværs af alle dine enheder, fra din computer til din smartphone.

Hvis du vil læse andre artikler, der ligner SSO: Forenklet Login for Dine Mobile Enheder, kan du besøge kategorien Teknologi.

Go up