Je enterprise klant eist SSO en SCIM. Je gaat zoeken en binnen vijf minuten heb je WorkOS, Keycloak en Auth0 op je scherm. Plug-and-play SSO. Klinkt goed.

De echte vraag is wat het kost en wat je ervoor inlevert. Per-connectie-prijzen die meegroeien met je klantenbestand. Een aparte Java-stack die je team moet draaien. Identity-data die door servers in de VS loopt. Hieronder zet ik de vier opties naast elkaar: WorkOS, Keycloak, Auth0 en SSO zelf bouwen in .NET.

Vergelijking van SSO-platforms WorkOS, Keycloak en Auth0 versus custom bouwen in .NET voor een enterprise SaaS
Vier wegen naar enterprise SSO, met heel verschillende rekeningen onderaan.

Wat kost WorkOS echt?

WorkOS is een SaaS-platform dat SSO en SCIM als API aanbiedt. Je integreert hun SDK en zij handelen de SAML/OIDC-connecties met je klanten af. De setup kost een paar uur. Daar zit de aantrekkingskracht.

Het prijskaartje is minder vriendelijk. WorkOS rekent $125 per SSO-connectie per maand. Tien enterprise klanten betekent $1.250 per maand, oftewel $15.000 per jaar. Bij vijftig klanten loopt dat op naar $75.000 per jaar. En SCIM provisioning zit in het Enterprise-plan, dus reken er nog wat bovenop.

Je levert ook meer in dan geld. De connecties lopen via WorkOS, dus migreren betekent dat je elke klant opnieuw moet onboarden. Je identity-data gaat door hun servers in de VS. Voor klanten in overheid, zorg of finance is dat vaak een dealbreaker. En het protocol-gedrag ligt vast: custom claims, specifieke SCIM-mappings of afwijkende flows werken alleen als WorkOS ze toevallig ondersteunt.

Waarom wringt Keycloak voor .NET-teams?

Keycloak is een open-source identity platform van Red Hat. Het doet SSO, federation en user management, en nog een hoop meer. Gratis, en bewezen op enterprise-schaal. Op papier de ideale uitweg uit per-connectie-kosten.

Voor een .NET-team zit het venijn in de stack. Keycloak draait op Java (Quarkus). Je team moet dus een aparte Java-applicatie deployen, monitoren en patchen. Het is een volledige applicatie met een eigen database, eigen configuratie en een eigen upgrade-cyclus. Een extra systeem dus, dat je onderhoudt naast je bestaande product.

En dan de complexiteit. Keycloak kan vrijwel alles, en juist die flexibiliteit maakt configuratie ingewikkeld. De admin-console heeft honderden opties en de leercurve is steil. Je .NET SaaS praat met Keycloak via HTTP, en zodra je custom logica wilt, schrijf je Keycloak SPI's in Java.

Waar loopt Auth0 / Okta vast?

Auth0, inmiddels onderdeel van Okta, is identity-as-a-service. Vergelijkbaar met WorkOS, alleen breder. Login, MFA, user management en SSO zitten in één platform.

De pijn zit op een paar plekken. Auth0 rekent per actieve gebruiker. Bij B2B SaaS met duizenden enterprise-gebruikers lopen de kosten dus snel op, en de enterprise SSO-features zitten precies in de duurste plannen. De vendor lock-in is hetzelfde verhaal als bij WorkOS: je identity-data zit bij Auth0 en migreren is een project op zich. Heb je alleen SSO en SCIM nodig voor je bestaande .NET-applicatie? Dan betaal je voor een breed platform waarvan je 80% nooit aanraakt.

Wat levert custom bouwen in .NET op?

De vierde optie krijgt vaak te weinig aandacht: SSO en SCIM bouwen als onderdeel van je eigen .NET-applicatie. Geen externe afhankelijkheid. Geen maandelijkse kosten per connectie.

Wat je ervoor terugkrijgt is controle. De code is van jou, dus je kunt aanpassen, uitbreiden of van hosting wisselen zonder iets te migreren. Of je nu 5 of 500 enterprise klanten hebt, de kosten blijven gelijk. Identity-data blijft in je eigen database op je eigen infrastructuur, wat compliance een stuk makkelijker maakt. Custom claims, specifieke SCIM-mappings en afwijkende SAML-configuraties stem je af op wat je klanten echt nodig hebben. En het draait native in je bestaande ASP.NET Core applicatie. Geen Java, geen externe SDK's.

De prijs is een eenmalige investering van 4 tot 6 weken development. Daarvoor heb je wel kennis van OAuth2, OpenID Connect, SAML en SCIM nodig. Dit is geen weekend-project.

Hoe verhouden de vier zich?

WorkOS Keycloak Auth0 Custom .NET
Kosten bij 50 klanten ~$75.000/jaar Gratis (+ ops) Variabel (hoog) Eenmalig
Vendor lock-in Ja Nee Ja Nee
Data sovereignty Nee (VS) Ja (self-hosted) Nee (VS/EU) Ja
Tech stack SaaS API Java SaaS API .NET native
Setup-tijd Uren Weken Uren 4-6 weken
Aanpasbaarheid Beperkt Hoog (Java) Beperkt Volledig

Wanneer kies je wat?

Er is geen winnaar die altijd klopt. Het hangt af van je groei, je compliance-eisen en hoeveel controle je over een kernfunctie wilt houden. Drie heel verschillende vragen, met per situatie een ander antwoord.

  • WorkOS of Auth0 als je snel SSO nodig hebt, weinig enterprise klanten verwacht, en de maandelijkse kosten acceptabel zijn.
  • Keycloak als je team Java-ervaring heeft en je een breed identity platform wilt draaien naast je .NET-applicatie.
  • Custom in .NET als je meer dan een handvol enterprise klanten verwacht, data sovereignty belangrijk is, of je geen externe afhankelijkheid wilt voor een kernfunctie van je product.

Hoeveel enterprise klanten verwacht je over twee jaar? Dat getal beslist vaak of een per-connectie-prijs slim of duur is.