Okta SSO- og SCIM-integration til Enterprise sundheds- og wellnessplatform
En enterprise sundheds- og wellness SaaS-platform skulle understøtte store organisationer, som krævede Single Sign-On (SSO) for problemfri medarbejderadgang og automatisk brugerprovisionering/-deprovisionering via SCIM — et ikke-forhandlingsbart krav for enterprisesalg.
Diskuter Dit Projekt
Udfordringen
Enterprise kunder nægtede at anvende platformen uden identitetsføderation og automatiseret livscyklusstyring:
- SSO-krav — IT-afdelinger krævede, at medarbejdere loggede ind via deres virksomheds identity provider, ikke med separate loginoplysninger
- Manuel onboardingsbyrde — At tilføje hundredvis af medarbejdere manuelt, når en ny organisation tilmeldte sig, tog dagevis af administrativt arbejde
- Offboarding-risiko — Når medarbejdere forlod organisationen, forblev deres platformskonti aktive i ugevis, hvilket skabte bekymringer om compliance og dataadgang
- Gruppebaseret adgang — Forskellige medarbejdergrupper havde brug for forskellige funktionsniveauer og programadgang
- Multi-Tenant kompleksitet — Hver enterprise kunde havde deres egen identity provider tenant med forskellige konfigurationer, attributkortlægninger og gruppestrukturer
- Sammeneksistens af eksisterende Auth — Platformen havde allerede email/password- og OAuth-baseret autentificering; SSO skulle sameksistere uden at bryde eksisterende flows
Vores Løsning
Vi implementerede Okta SSO via SAML 2.0/OIDC til autentificering og SCIM 2.0 til automatiseret brugerprovisionering, deprovisionering og gruppesynkronisering — integreret i det eksisterende multi-tenant backend.
Arkitektur
- Identity Provider: Okta (kundestyrede tenants)
- SSO-protokol: SAML 2.0 (primær) + OIDC (alternativ)
- Provisionering: SCIM 2.0-server indbygget i platformens backend
- Backend: NestJS med PostgreSQL og Redis
- Auth-lag: JWT-baserede sessioner med SSO-bevidst token-udstedelse
- Admin Dashboard: React-baseret tenant-konfiguration til SSO-opsætning
- Eksisterende Auth: Email/password + Google OAuth bevaret sammen med SSO
---
SSO-implementering (SAML 2.0 / OIDC)
SAML 2.0 Flow
Den SP-initierede SAML flow fungerer som følger: brugeren besøger login-siden og vælger SSO, indtaster deres virksomheds e-mail-domæne, platformen identificerer tenantens Okta-konfiguration fra domænet, sender en AuthnRequest til Okta, brugeren autentificerer sig, Okta returnerer en signeret SAML assertion, platformen validerer assertionen og opretter en session med JWT-tokens.
Per-Tenant-konfiguration
Hver tenant's SSO er konfigureret med deres identity provider's SSO URL, entity ID, X.509-certifikat til signaturvalidering, sammen med platformens SP entity ID, assertion consumer service URL, og attributkortlægninger fra identity provider-profilfelter til platformsbrugerfelter.
OIDC-alternativ
For kunder, der foretrækker OIDC frem for SAML, understøtter platformen Authorization Code flow med PKCE, ved brug af den samme attributkortlægning via OIDC claims og ID token-validering med JWKS.
Multi-Tenant SSO-routing
Platformen dirigerer brugere til den korrekte identity provider baseret på deres e-mail-domæne. Når en bruger indtaster deres e-mail, slår platformen domænet op mod tenant SSO-konfigurationerne. Hvis SSO er konfigureret, omdirigeres brugeren til deres organisations Okta tenant. Hvis ikke, falder de tilbage til e-mail/password eller Google OAuth. Vanity URLs understøttes også for direkte SSO-adgang. ---
SCIM 2.0-implementering
SCIM-server
Platformen eksponerer en SCIM 2.0-kompatibel API, som Okta kalder for at administrere brugere og grupper. API'en understøtter komplette brugerlivscyklusoperationer (opret, læs, opdater, deaktiver, slet), gruppe CRUD med medlemskabsstyring og standard SCIM discovery endpoints for kapaciteter, skemaer og ressourcetyper.
Brugerlivscyklus via SCIM
Provisionering:Når en administrator tildeler en bruger til platform-appen i Okta, sender Okta en oprettelsesanmodning til SCIM API'en. Platformen opretter brugerkontoen med tenant-tilknytning, markerer dem som aktive og SSO-provisionerede, og brugeren kan straks logge ind via SSO.
Profilopdateringer:Når en administrator opdaterer en brugers profil i Okta, skubbes ændringerne til platformen via SCIM. Hvis afdelingen ændres, genvurderes gruppemedlemskabet automatisk.
Deprovisionering:Når en bruger fjernes fra appen i Okta, deaktiverer platformen kontoen — tilbagekalder alle aktive sessioner øjeblikkeligt, forhindrer yderligere login, bevarer data i henhold til datalagringspolitikken og frigør licenspladsen.
Genaktivering:Ved at tildele en bruger igen i Okta genaktiveres deres konto med alle historiske data intakte.
Gruppesynkronisering
Okta-grupper kortlægges til platformens roller og programniveauer — der styrer adgang til forskellige funktionsniveauer, administratorfunktioner, specialiserede dashboards og eksklusive programtilmeldinger. Ændringer i gruppemedlemskaber i Okta skubbes via SCIM og afspejles i realtid uden at kræve gen-login. ---
Sikkerhed og Autentificering
Token-udstedelse efter SSO
Efter SAML assertion-validering udsteder platformen tenant-scoped JWT'er med claims for brugeridentitet, organisation, roller (afledt af SCIM-gruppemedlemskab), autentificeringsmetode og identity provider — hvilket muliggør revisionsdifferentiering mellem SSO og andre autentificeringsmetoder.
Sessionsstyring
- SSO-sessioner respekterer Oktas sessionslevetid
- Single Logout (SLO) understøttet for sessionsterminering, når brugeren logger ud af Okta
- Back-channel logout webhook til øjeblikkelig sessiontilbagekaldelse
- SCIM-deaktivering tilbagekalder alle aktive sessioner inden for 60 sekunder
Sikkerhedskontroller
- SAML-svarsignaturvalidering mod tenantens X.509-certifikat
- Forhindring af assertion-replay via engangsbrugssporing
- Tolerance for klokkeforskydning ved validering af assertion-tidsstempel
- Validering af målgruppebegrænsning
- Krypterede assertions understøttet til følsomme implementeringer
- SCIM endpoint-autentificering via per-tenant Bearer tokens
- Rate limiting på SCIM-endpoints
---
Admin-konfigurationsdashboard
Tenant SSO-opsætning
Admin-dashboardet tilbyder en selvbetjeningsopsætningsflow:
- Protokolvalg — Vælg SAML 2.0 eller OIDC
- Metadata-upload — Upload IdP metadata XML (auto-udfylder konfiguration)
- Attributkortlægning — Kortlæg identity provider-profilfelter til platformsbrugerfelter
- Domæneverifikation — Bekræft ejerskab af e-mail-domæne(r) for SSO-routing
- Testforbindelse — Initier test-SSO-login, før det aktiveres for alle brugere
- SCIM-opsætning — Generer Bearer token til SCIM-provisioneringskonfiguration
- Gruppekortlægning — Kortlæg identity provider-grupper til platformens roller og niveauer
Dashboardet tilbyder også downloadbar SP metadata for nem identity provider app-konfiguration. ---
Nøglefunktioner
- SAML 2.0 + OIDC Support — Fleksibelt protokolvalg per tenant
- SCIM 2.0 Provisionering — Automatisk brugeroprettelse, opdateringer og deaktivering
- Gruppe-til-rolle-kortlægning — Identity provider-grupper styrer platformens adgangsniveauer og programmer
- Øjeblikkelig Deprovisionering — SCIM-deaktivering tilbagekalder adgang inden for 60 sekunder
- Multi-Tenant SSO-routing — E-mail-domænebaseret IdP-opdagelse på tværs af tenants
- Sammeneksisterende Auth-metoder — SSO sammen med e-mail/password og Google OAuth
- Selvbetjeningsopsætning — Admin-dashboard til SSO-konfiguration uden ingeniørsupport
- Single Logout — Platforms-session afsluttet, når brugeren logger ud af identity provider
- Revisionsspor — Hver SCIM-operation og SSO-begivenhed logges for compliance
- SCIM Group Sync — Rolle- og programændringer i realtid fra identity provider-gruppemedlemskab
Resultater
Teknologistak
caseStudyDetail.more Casestudier
Udforsk flere af vores tekniske implementeringer
AI-drevet fakturabehandling med OCR og QuickBooks-integration
En mellemstor virksomhed, der månedligt behandler hundredvis af leverandørfakturaer, havde brug for at eliminere manuel dataindtastning ved automatisk at udtrække fakturadata ved hjælp af AI/OCR og synkronisere dem direkte til QuickBooks for bogføring og sporing af betalinger.
Klient-side annonceindsættelse (CSAI) med SCTE-35-markørparsing og integration af afspillere på flere platforme
En videostreamingplatform skulle implementere klient-side annonceindsættelse (CSAI) på tværs af web-, mobil- og connected TV-apps – hvilket muliggjorde personaliserede annonceringer på enhedsniveau med fuld support for annonceinteraktion (klikbare overlays, følgebannere, skip-knapper), som server-side indsættelse ikke kan tilbyde.
Klar til at Transformere Din Virksomhed?
Lad os drøfte, hvordan vi kan anvende lignende løsninger til dine udfordringer.