OAuth vs SAML für SSO einfach erklärt: was Unternehmen fragen, was Sie bauen sollten und wie Sie Ihre vorhandenen Anmeldungen funktionsfähig halten.

SSO wird dringend, sobald ein Deal vom „Team-Trial“ zur unternehmensweiten Einführung übergeht. Ein Einkäufer mag Ihr Produkt, aber Security und IT blockieren die Beschaffung, wenn Mitarbeitende neue Passwörter anlegen müssen, MFA an einer weiteren Stelle verwalten oder Konten zurücklassen, wenn Leute die Rolle wechseln.
Für viele Unternehmen geht es bei SSO weniger um Komfort und mehr um Kontrolle. Sie wollen einen Ort, um Anmelde-Regeln durchzusetzen, Zugriffe schnell zu entziehen und Prüfern zu zeigen, dass Identitäten zentral verwaltet werden. Deshalb taucht die Frage „OAuth vs SAML für SSO“ oft spät im Sales-Zyklus auf: es ist ein schneller Check, ob Sie in deren Identity-Setup passen.
SSO spät hinzuzufügen kann Annahmen, auf die Sie bauen, zerstören. Wenn Ihr aktuelles Modell „eine E-Mail = ein User“ ist, bringt SSO Randfälle wie geteilte Aliase, mehrere Identity Provider oder Nutzer, die während einer Migration sowohl Passwort-Login als auch SSO behalten müssen. Wenn Account-Linking falsch läuft, verlieren Leute den Zugang oder, noch schlimmer, erhalten Zugriff auf den falschen Tenant.
SSO verändert auch Onboarding und Support. Gut umgesetzt reduziert es Passwort-Resets und „Wem gehört dieses Konto?“ Tickets. Schlecht umgesetzt verzögern Rollouts, Admins werden wütend und Verlängerungen werden riskant, weil das Produkt im Trial „funktionierte“, aber am ersten Tag der Enterprise-Einführung scheitert.
Die Entscheidung gehört selten nur einer Person. Der Einkäufer will Momentum, Security prüft Risiko und Audit-Anforderungen, IT-Admins brauchen klare Setup-Schritte, Endnutzer wollen einen reibungslosen Login, und Support kümmert sich schließlich um Lockouts, Migrationen und Ausnahmen.
Wenn Sie Apps auf Plattformen wie Koder.ai bauen, lohnt es sich, SSO früh einzuplanen, damit Sie die Identitätsarchitektur nicht nachträglich neu designen müssen, während Kunden bereits aktiv sind.
SSO (Single Sign-On) bedeutet, dass Ihr Kunde sich in Ihre App mit dem Firmen-Login anmeldet, nicht mit einem separaten Passwort, das Sie speichern. Sie melden sich mit dem Arbeitskonto an und der Zugang wird durch Richtlinien der Firma gesteuert.
Diese Begriffe hören Sie in Enterprise-Gesprächen:
Wenn Leute „OAuth-Login“ sagen, meinen sie oft OpenID Connect (OIDC). OAuth regelt hauptsächlich Autorisierung (Berechtigung, etwas zu tun). OIDC ergänzt Authentifizierung (wer der Nutzer ist) und kann deshalb für Login genutzt werden.
SAML ist ein älterer, XML-basierter SSO-Standard. Unternehmen nutzen ihn weiterhin stark, weil er etabliert, weit unterstützt und in vielen Compliance-Checklisten verankert ist.
SCIM ist kein SSO. SCIM dient dem Provisioning: automatische Erstellung, Aktualisierung und Deaktivierung von Benutzern (und manchmal Gruppen). Ein gängiges Setup ist SAML oder OIDC zum Sign-in plus SCIM, damit Zugriffe ohne manuelle Admin-Arbeit hinzugefügt und entfernt werden.
Enterprise-Käufer beginnen selten mit Protokolldetails. Sie starten bei Risiko und Kontrolle: „Können wir den Zugriff über unseren Identity Provider verwalten, und können wir nachweisen, wer was getan hat?“
Die meisten Enterprise-Teams wollen mindestens eine unternehmensfreundliche Option, viele wünschen sich beides:
Sie fragen auch, wie das Setup funktioniert: Metadaten oder Discovery-URL, Zertifikatsrotation und ob IT sich selbst bedienen kann, ohne auf Ihre Entwickler warten zu müssen.
Der schnellste Weg, einen Enterprise-Deal zu verlieren, ist vage beim Offboarding zu sein. Sie werden fragen, was passiert, wenn ein Mitarbeiter geht, die Abteilung wechselt oder ein Laptop gestohlen wird.
Erwarten Sie Fragen wie:
Ein simples Szenario, das ihnen wichtig ist: Ein Admin deaktiviert einen User um 9:02, und bis 9:03 sollte dieser User die App nicht mehr öffnen können, selbst wenn noch ein Browser-Tab offen ist. Wenn Sie diesen Ablauf nicht klar erklären können, erwarten Sie zusätzliche Review-Zyklen.
OAuth wurde ursprünglich für delegierten Zugriff gebaut: einem System erlauben, die APIs eines anderen Systems aufzurufen, ohne ein Passwort zu teilen. Viele Teams nutzen es noch genau dafür (z. B. eine Integration, die Kalender liest). Für Mitarbeiter-Login verwenden die meisten Produkte OpenID Connect (OIDC), das auf OAuth aufsetzt und einen standardisierten Weg bietet, wer der Nutzer ist.
Bei OIDC ist der übliche Ablauf der Authorization Code Flow. Ihre App schickt den Nutzer zum IdP der Firma, damit er sich anmeldet. Nach erfolgreicher Anmeldung schickt der IdP Ihrer App einen kurzlebigen Autorisierungscode zurück. Ihr Backend tauscht diesen Code gegen Tokens ein.
Die Token-Aufteilung, die wichtig ist:
Praktisch gedacht: OIDC ist großartig, wenn Sie einen modernen Login wollen, der Web-, Mobile- und API-Muster abdeckt. SAML ist häufiger, wenn das Unternehmen den klassischen „Anmelden bei der App“-Handshake wünscht und weniger Wert auf API-Zugriff legt.
Was Sie speichern sollten, bleibt einfach: die stabile Nutzerkennung (subject), ihre E-Mail (falls geliefert) und die Tenant-Verbindung, die sie genutzt haben. Speichern Sie nicht das Passwort des Nutzers. Vermeiden Sie auch langlebige Refresh-Tokens, außer Sie benötigen wirklich Offline-API-Zugriff.
Damit das pro Kundentenant funktioniert, brauchen Sie:
Richtig umgesetzt landen Nutzer zurück in Ihrer App, Sie validieren die Tokens und erstellen Ihre normale Session, ohne Ihr komplettes Auth-Modell umzuschreiben.
SAML erlaubt dem Unternehmens-IdP zu sagen: „Diese Person hat sich bereits angemeldet, hier sind ihre Daten.“ Der IdP sendet eine SAML-Assertion — im Grunde eine signierte Notiz, die den User benennt (und manchmal Gruppen- oder Rollen-Infos) plus ein kurzes Gültigkeitsfenster.
Damit diese Notiz vertrauenswürdig ist, setzt SAML auf Metadaten und Zertifikate. Metadaten sind ein kleines Konfigurationspaket, das Endpunkte und Keys beschreibt. Zertifikate werden hauptsächlich zum Signieren genutzt, damit Ihre App bestätigen kann, dass die Assertion wirklich vom Kunden-IdP stammt und nicht verändert wurde.
Zwei Identifikatoren tauchen fast überall auf:
Wenn einer davon falsch ist, schlägt der Login fehl, auch wenn sonst alles korrekt aussieht.
SAML in der Realität ist genauso viel Betrieb wie Code. Planen Sie mandantenbezogene SAML-Einstellungen, Zertifikatsrotation ohne Downtime, Clock-Skew-Toleranz (schon wenige Minuten können Assertions brechen) und klare Fehler für Admins (nicht nur „invalid response“).
Ein gängiges Muster: Der Kunden-Admin aktiviert SAML pro Tenant, Ihre App überprüft die Signatur, kontrolliert, dass die Assertion nicht abgelaufen ist, und mapped die E-Mail (oder NameID) auf einen bestehenden Nutzer oder eine sichere Auto-Provision-Regel. In der Praxis ist das der Kern der Entscheidung OAuth vs SAML: SAML zwingt Sie oft dazu, stärkere Admin-Workflows zu bauen.
Die Wahl zwischen OIDC und SAML hängt meist davon ab, was Ihr Käufer bereits einsetzt. Viele B2B-Apps unterstützen im Laufe der Zeit beides, aber Sie können für jeden Kunden eine klare Entscheidung treffen und Ihr Auth-System vorhersehbar halten.
OIDC ist oft reibungsloser für moderne Apps. Es passt zu Browser- und Mobile-Apps, spielt gut mit APIs zusammen und ist typischerweise leichter zu debuggen und zu erweitern (Scopes, Token-Lebenszeiten usw.). Wenn Ihr Enterprise-Kunde bereits ein modernes IdP-Setup hat und die IT mit OIDC vertraut ist, starten Sie damit.
SAML kann nicht verhandelbar sein. Viele große Firmen haben SAML-Programme und Onboarding-Regeln wie „nur SAML“. In diesen Fällen ist der beste Ansatz: SAML einmal kontrolliert implementieren und vom restlichen Login-System isoliert halten.
Fragen, die Sie stellen sollten, bevor Sie sich festlegen:
Kurzleitfaden:
| Wenn der Kunde sagt... | Bevorzugen | Warum |
|---|---|---|
| „Wir nutzen Entra ID und wollen moderne App-Integration" | OIDC | Besser für Web- und API-Flows |
| „Unsere Richtlinie ist nur SAML für Anbieter" | SAML | Notwendig für Sicherheits-Onboarding |
| „Wir brauchen beides für unterschiedliche Tochtergesellschaften" | Beides | Häufig in großen Organisationen |
| "Wir brauchen benutzerdefinierte Claims pro App" | Beides | Beide unterstützen Attribut-Mapping |
Wenn Sie beides unterstützen, halten Sie den Rest Ihrer App konsistent: ein internes User-Modell, ein Session-Modell und ein Set von Autorisierungsregeln. Die SSO-Methode sollte beantworten „Wer ist dieser Nutzer und zu welchem Tenant gehört er?“, nicht die Art und Weise, wie Zugang grundsätzlich funktioniert, neu erfinden.
Beginnen Sie damit, zu definieren, was „Tenant“ in Ihrem Produkt bedeutet. Für die meisten B2B-Apps wird SSO pro Organisation oder Workspace konfiguriert, nicht pro Nutzer. Diese Entscheidung bestimmt, wo Sie IdP-Einstellungen speichern, wer sie ändern kann und wie Nutzer zwischen Workspaces wechseln.
Wählen Sie anschließend ein vorhersehbares Login-Verhalten. Domain-Routing (E-Mail eingeben, dann Weiterleitung, falls die Domain SSO-aktiviert ist) reduziert Verwirrung, aber Sie müssen Randfälle wie Auftragnehmer und Multi-Domain-Unternehmen behandeln. Ein einfacher „Continue with SSO“-Button ist leichter zu verstehen, aber Nutzer können die falsche Option wählen.
Eine sichere Build-Reihenfolge für OIDC oder SAML:
Testing ist Pflicht. Nutzen Sie einen Sandbox-IdP und einen Staging-Tenant mit realistischen Domains. Testen Sie Happy-Path- und Fehlerfälle: abgelaufenes Zertifikat, falsches Audience, Clock-Skew, Benutzer entfernt aus dem IdP. Behandeln Sie SSO-Rollouts wie Feature-Flags.
Plattformen wie Koder.ai erleichtern solche Iterationen, indem sie Snapshots und Rollback zusammen mit mandantenbezogener Konfiguration unterstützen, sodass eine schlechte Änderung nicht alle Kunden gleichzeitig aussperrt.
SSO ist nicht nur ein Login-Button. Security-Teams fragen nach Session-Länge, Offboarding und was Sie nachweisen können, wenn etwas schiefgeht. Wenn Sie SSO als Kernteil Ihres Auth-Systems behandeln (nicht als Aufsatz), vermeiden Sie die meisten schmerzhaften Eskalationen.
Beginnen Sie mit Session-Regeln. Wählen Sie Idle-Timeout und maximale Session-Lebensdauer und erklären Sie klar, was passiert, wenn jemand einen Laptop zuklappt und am nächsten Tag weiterarbeitet. Bei OIDC können Refresh-Tokens Sessions länger offen halten, setzen Sie daher Grenzen (Rotation, Max-Age), wenn Sie sie nutzen. Bei SAML können Browser-Sessions lange leben, wenn Sie nicht Re-Auth erzwingen.
Logout ist eine weitere Falle. „Single logout“ ist nicht universell. Unterstützen Sie lokalen Logout verlässlich und dokumentieren Sie, dass globaler Logout über alle Apps vom IdP abhängt.
MFA verhält sich ähnlich. Enterprises möchten, dass der IdP MFA durchsetzt, daher sollte Ihre App einen authentifizierten Nutzer akzeptieren, ohne erneut nachzufragen. Dennoch ist es sinnvoll, Step-up-Checks für riskante Aktionen zu unterstützen (z. B. Datenexport oder Rechnungsänderungen), da nicht jede IdP-Policy perfekt ist.
User-Provisioning ist die Stelle, an der Zugriffslecks passieren. JIT-Provisioning ist bequem, kann aber Konten für jeden erzeugen, der sich authentifizieren kann. Invite-only ist sicherer, aber mehr Admin-Arbeit. Viele Teams wählen einen Mittelweg: JIT erlaubt, aber eingeschränkt durch erlaubte Domains und optional Gruppen-Claims.
Halten Sie SSO-Konfiguration hinter Least-Privilege-Rollen. Niemand sollte Super-Admin-Rechte benötigen, nur um ein Zertifikat zu rotieren oder eine IdP-URL zu aktualisieren.
Für Support loggen Sie genug, um einen einzelnen Login nachzuvollziehen, ohne Geheimnisse zu speichern:
Das ist der Unterschied zwischen „wir können es nicht reproduzieren“ und einem Enterprise-SSO-Ausfall, den man in Minuten behebt.
Ein Mittelstandsunternehmen kommt zur Beschaffung und sagt: „Wir brauchen SSO, bevor wir unterschreiben.“ Das ist selten philosophisch. Es ist eine Kontrollanforderung für On- und Offboarding sowie Audit.
Die Wendung: Sie verkaufen an zwei Teams. Team A ist mit OIDC glücklich, weil sie Okta mit modernen Apps nutzen. Team B besteht auf SAML, weil ihre Legacy-Tools es noch voraussetzen. Ab hier wird die OAuth vs SAML-Frage kein theoretisches Thema mehr, sondern ein Rollout-Plan.
Behalten Sie eine Regel: SSO ist eine mandantenbezogene Login-Option, kein globaler Ersatz. Bestehende Nutzer können sich solange auf die alte Weise anmelden, bis der Tenant-Admin „SSO erforderlich“ aktiviert.
Beim ersten SSO-Login brauchen Sie ein sicheres Account-Linking. Ein sauberer Ansatz: Matchen per verifizierter E-Mail, bestätigen Sie den Tenant per Domain (oder Invite) und hängen Sie die IdP-Identität an das bestehende Konto. Wenn kein Match existiert, erstellen Sie das Konto JIT — aber nur, wenn der Admin das erlaubt hat.
Rollenvergabe ist oft ein Stolperstein in Deals. Halten Sie es einfach: eine Standardrolle für neue Nutzer und optionales Mapping von IdP-Gruppen oder Claims auf Ihre Rollen.
Auf Admin-Seite müssen sie normalerweise konfigurieren:
Um Lockouts während des Wechsels zu vermeiden, behalten Sie ein Break-Glass-Admin-Konto außerhalb von SSO, führen Sie einen Testmodus für die ersten Logins durch und erzwingen Sie SSO erst, nachdem mindestens eine bestätigte funktionierende Admin-Session besteht.
Die meisten SSO-Vorfälle werden nicht durch den IdP verursacht. Sie passieren, weil Ihre App SSO als globalen Schalter behandelt statt als mandantenbezogene Einstellung.
Ein klassisches Versagen ist fehlende Tenant-Grenzen. Eine neue IdP-Konfiguration wird global gespeichert und plötzlich werden alle Kunden zum zuletzt gespeicherten IdP weitergeleitet. Speichern Sie IdP-Einstellungen pro Tenant und lösen Sie immer den Tenant, bevor der SSO-Handshake startet.
Account-Matching ist die nächste große Falle. Wenn Sie sich nur auf E-Mail verlassen, erzeugen Sie doppelte Benutzer oder sperren echte Benutzer aus, wenn die IdP-E-Mail von der zuvor genutzten E-Mail abweicht. Definieren Sie Ihre Merge-Policy im Voraus: welche Identifier Sie vertrauen, wie Sie E-Mail-Änderungen behandeln und wie Admins Mismatches ohne Entwicklerhilfe beheben können.
Teams neigen auch dazu, Claims zu sehr zu vertrauen. Validieren Sie, was Sie zurückbekommen: Issuer, Audience, Signatur und dass die E-Mail verifiziert ist (oder nutzen Sie stattdessen einen stabilen Subject-Identifier). Das Akzeptieren einer falschen Audience oder einer nicht verifizierten E-Mail ist ein einfacher Weg, die falsche Person zu autorisieren.
Wenn etwas fehlschlägt, führen vage Fehler zu langen Support-Calls. Geben Sie Nutzern eine klare Meldung und Admins einen diagnostischen Hinweis (z. B. „Audience mismatch“ oder „Zertifikat abgelaufen“), ohne Geheimnisse offenzulegen.
Zeitbedingte Probleme sollten Sie vor dem Release testen. Clock-Skew und Zertifikatsrotation brechen Logins am Montagmorgen um 9 Uhr.
Fünf Checks, die die meisten Ausfälle verhindern:
SSO ist der Ort, an dem kleine Annahmen zu großen Support-Tickets werden. Bevor Sie einem Unternehmenskunden zusichern, dass Sie es unterstützen, stellen Sie sicher, dass die Basics in Ihrem Produkt funktionieren, nicht nur in einer Demo.
Führen Sie diese Punkte in einer Staging-Umgebung durch, die Production spiegelt:
Machen Sie einen vollständigen „Bad Day“-Drill: rotieren Sie ein Zertifikat, ändern Sie ein Claim oder brechen Sie die IdP-URL und bestätigen Sie, dass Sie das Problem schnell erkennen und beheben können.
Bestätigen Sie außerdem Monitoring und Alerts für SSO-Fehler (pro Tenant) sowie einen Rollback-Plan (Feature-Flag, Konfigurationsrücksetzung oder schnelles Deploy), den Sie geübt haben.
Wählen Sie einen klaren Startpunkt. Die meisten Enterprise-Käufer fragen nach „SAML mit Okta/Entra ID“ oder „OIDC mit Google/Microsoft“, und Sie sollten nicht beides in Woche eins versprechen, außer Sie haben das Team dafür. Entscheiden Sie, was Sie zuerst unterstützen (SAML, OIDC oder beides) und schreiben Sie auf, was „fertig“ für Produkt und Support bedeutet.
Bevor Sie einen echten Kunden einbeziehen, erstellen Sie einen kleinen internen Demo-Tenant. Nutzen Sie ihn, um den kompletten Ablauf zu proben: SSO aktivieren, Login testen, auf eine Domain beschränken und den Zugang wiederherstellen, wenn etwas schiefgeht. Hier wird auch Ihr Support-Playbook geprüft.
Pflegen Sie ein lebendes Enterprise-Requirements-Dokument. Reviews ändern sich, und ein zentraler Ort für unterstützte Features verhindert Einzelversprechen, die später Onboarding brechen.
Ein praktischer Plan:
Wenn Sie schnell vorankommen wollen, können Sie die Settings-Screens und die Tenant-Struktur in Koder.ai prototypen und iterieren, während Security-Fragebögen eingehen.
Planen Sie für Add-ons, die oft direkt nach SSO folgen: SCIM-Provisioning, Audit-Log-Exporte und Admin-Rollen mit klaren Rechten. Auch wenn Sie sie nicht sofort ausliefern, werden Käufer danach fragen — und Ihre Antwort sollte konsistent sein.
Die meisten Enterprise-Teams wollen zentrale Kontrolle über Zugriffe. SSO ermöglicht ihnen, MFA und Anmelderichtlinien im eigenen Identity Provider durchzusetzen, Zugänge schnell zu entziehen, wenn jemand das Unternehmen verlässt, und Audit-Anforderungen zu erfüllen, ohne dass Ihre Anwendung Passwörter verwalten muss.
Beginnen Sie damit, was ihr Identity Provider tatsächlich unterstützt und welche Vendor-Onboarding-Richtlinien gelten. OIDC ist oft die glattere Option für moderne Web- und Mobile-Flows, während SAML in größeren Unternehmen häufig vorgeschrieben ist, weil es in bestehende Enterprise-Prozesse integriert ist.
OIDC ist eine Authentifizierungsschicht auf OAuth, die für Login entwickelt wurde. OAuth allein regelt hauptsächlich die Autorisierung von API-Zugriffen, nicht das Nachweisen der Identität. Wenn Sie „Anmeldung mit dem Firmen-IdP“ umsetzen, meinen Sie fast immer OIDC und nicht reines OAuth.
Nein. SSO regelt die Anmeldung, SCIM regelt das Provisioning: automatische Erstellung, Aktualisierung und Deaktivierung von Benutzerkonten (und manchmal Gruppen). Häufig eingesetzte Enterprise-Setups kombinieren SAML oder OIDC zum Sign-In mit SCIM für automatisches On- und Offboarding.
Behandeln Sie SSO als mandantenbezogene Einstellung, nicht als globalen Schalter. Ermitteln Sie zuerst den Tenant (z. B. über Domain-Routing, Invite oder explizite Organisationsauswahl) und starten Sie erst dann die SSO-Handshake mit der IdP-Konfiguration dieses Tenants. So verhindern Sie, dass die IdP-Einstellungen eines Kunden die Logins eines anderen Kunden beeinflussen.
Verwenden Sie einen stabilen Identifier des IdP (z. B. OIDC sub oder ein SAML NameID) als primären Verknüpfungsschlüssel und behandeln Sie die E-Mail als sekundäres Attribut, das sich ändern kann. Beim ersten SSO-Login verknüpfen Sie nur dann mit einem bestehenden Konto, wenn Sie sicher sind, dass es dieselbe Person und der richtige Tenant ist; sonst fordern Sie eine Einladung oder Admin-Bestätigung an.
Halten Sie ein Break-Glass-Admin-Konto, das sich ohne SSO anmelden kann, und machen Sie SSO opt-in, bis ein Admin bestätigt, dass es funktioniert. Bieten Sie außerdem einen einzelnen Schalter an, mit dem SSO für den Tenant deaktiviert werden kann, falls die IdP-Konfiguration fehlschlägt, sodass Support den Zugang ohne Code-Änderung schnell wiederherstellen kann.
Unterstützen Sie lokalen Logout zuverlässig in Ihrer App und machen Sie deutlich, dass globales Abmelden über alle Anwendungen hinweg von den Funktionen und der Konfiguration des IdP abhängt. Planen Sie außerdem schnelle Zugriffsentziehung durch Session-Expiration oder erneute Überprüfung, damit ein deaktivierter Benutzer nicht weiter per offenem Browser-Tab zugreifen kann.
Fokussieren Sie sich auf mandantenbezogene SSO-Fehlerprotokolle, die bei der Fehlerdiagnose helfen, ohne Geheimnisse zu speichern. Erfassen Sie eine Korrelations-ID, den Tenant, den Issuer/Entity ID, Zeitstempel und einen klaren Grund wie Signaturfehler, Audience-Mismatch oder abgelaufenes Zertifikat. Speichern Sie keine Roh-Token, vollständigen SAML-Assertions, Client-Secrets oder private Keys in Logs.
Sie brauchen mandantenbezogenen Konfigurationsspeicher, ein Admin-UI zur Verwaltung der IdP-Einstellungen, sichere Regeln zum Account-Linking und einen Wiederherstellungspfad. Wenn Sie auf Koder.ai entwickeln, planen Sie das Tenant-Modell früh und nutzen Sie Snapshots und Rollback beim Rollout, sodass eine fehlerhafte Änderung nicht alle Kunden aussperrt.