Deutsch
  • sso
  • authentifizierung
  • identität

Warum Single Sign-on (SSO) besser ist

Single Sign-on (SSO) ist eine großartige Möglichkeit, das Authentifizierungsmodell zu vereinfachen und die Benutzererfahrung für jede App zu verbessern. Hier ist der Grund dafür.

Gao
Gao
Founder

Single Sign-on (SSO) ist eine Technologie, die es Benutzern ermöglicht, sich einmal zu authentifizieren und auf mehrere Anwendungen zuzugreifen. Wenn du nur eine Anwendung hast, mag es übertrieben erscheinen. Doch wenn du von Anfang an mit SSO anfängst, kannst du später viel Ärger vermeiden, und die Implementierung von SSO ist einfacher, als du denkst.

Bevor wir beginnen, müssen wir darauf hinweisen, dass es zwei Arten von SSO gibt:

  • Die erste Art ist, wenn du mehrere Anwendungen hast, die dieselbe Benutzerdatenbank teilen. Diese Art von SSO werden wir in diesem Artikel besprechen.
  • Die zweite Art ist, wenn dein Kunde einen zentralisierten Identitätsanbieter (IdP) hat und du dich mit ihm integrieren musst. Dies fällt nicht in den Anwendungsbereich dieses Artikels.

Warum SSO?

Vereinfache das Authentifizierungsmodell

Der offensichtlichste Vorteil von SSO ist, dass es das Authentifizierungsmodell vereinfacht. Stell dir vor, du startest mit einem Online-Shop, das anfängliche Authentifizierungsmodell ist unkompliziert:

Wenn dein Geschäft wächst, entschließt du dich, eine Verwaltungs-App für den Shop hinzuzufügen, damit Shop-Besitzer ihre Läden verwalten können. Jetzt hast du zwei Anwendungen, die Benutzer authentifizieren müssen.

Hier sind einige Möglichkeiten, die du hast:

1. Du kannst eine separate Benutzerdatenbank für die Verwaltungs-App erstellen.

Dies ist die einfachste Lösung, bedeutet jedoch, dass du den Authentifizierungsprozess für die Verwaltungs-App implementieren musst und Benutzer ein neues Konto erstellen müssen, um die App zu nutzen.

2. Du kannst dieselbe Benutzerdatenbank für beide Anwendungen verwenden.

Dies ist eine bessere Lösung, weil Benutzer kein neues Konto erstellen müssen. Du musst jedoch immer noch den Authentifizierungsprozess für die Verwaltungs-App implementieren.

3. Du kannst SSO verwenden.

Dies ist die bisher beste Lösung. Du musst keinen weiteren Authentifizierungsprozess implementieren und Benutzer müssen kein neues Konto für die Verwaltungs-App erstellen. Darüber hinaus kannst du mehr Anwendungen und Anmeldemethoden hinzufügen, ohne das Authentifizierungsmodell oder die Benutzererfahrung zu ändern.

Verbesserung der Benutzererfahrung

SSO verbessert die Benutzererfahrung auf zwei Arten:

  • Benutzer können dasselbe Konto über mehrere Anwendungen hinweg teilen.
  • Sobald sich Benutzer in einer Anwendung anmelden, müssen sie sich nicht erneut in anderen Anwendungen auf demselben Gerät anmelden.

Hier könnten einige Bedenken aufkommen, aber sie sind alle lösbar.

1. Wie kann man Anwendungen unterscheiden?

Single Sign-on bedeutet nicht, dass wir alle Anwendungen gleich behandeln. Im bekannten offenen Standard OpenID Connect wird jede Anwendung als Client bezeichnet, und die Authentifizierungsabläufe unterscheiden sich je nach Clienttyp. Während die Endbenutzer den Unterschied nicht kennen müssen, ist der Clienttyp wichtig für den Authentifizierungsserver, um den Authentifizierungsablauf zu bestimmen.

2. Was, wenn Benutzer nicht dasselbe Konto teilen möchten?

Dies ist ein berechtigtes Anliegen, aber es ist kein Problem mit SSO. Wenn Benutzer nicht dasselbe Konto teilen möchten, können sie ein neues Konto für die neue Anwendung erstellen. Der Schlüssel ist, den Benutzern die Möglichkeit zu geben, zu wählen.

3. Was, wenn ich den Zugriff auf bestimmte Anwendungen einschränken muss?

In der Tat ist SSO eine Technik für die Authentifizierung, während Zugangskontrolle für die Autorisierung ist. SSO kann von der Zugangskontrolle entkoppelt werden. Zum Beispiel kannst du SSO verwenden, um Benutzer zu authentifizieren, und dann rollenbasierte Zugangskontrolle (RBAC) verwenden, um den Zugriff auf bestimmte Anwendungen oder Ressourcen einzuschränken.

Um mehr über Authentifizierung und Autorisierung zu erfahren, schau dir CIAM 101: Authentifizierung, Identität, SSO an.

4. SSO erfordert die Umleitung von Benutzern zum Authentifizierungsserver.

Umleitungen sind eine Standardpraxis für die Authentifizierung. In Bezug auf die Benutzererfahrung können wir mehrere Techniken nutzen, um die Reibung zu verringern:

  • Verwende Refresh-Tokens, um die Häufigkeit der Authentifizierung zu reduzieren.
  • Initialisiere den Authentifizierungsprozess mit einer spezifischen Anmeldemethode, wie Google oder Facebook, um die Anzahl der Klicks zu reduzieren.
  • Nutze stille Authentifizierung, um den Authentifizierungsprozess zu beschleunigen.

Verbesserung der Sicherheit

1. Ein zentraler Ort für alle sicherheitsrelevanten Vorgänge

SSO ermöglicht es dir, alle sicherheitsrelevanten Vorgänge an einem zentralen Ort zu verwalten. Zum Beispiel kann SSO, wie im vorherigen Abschnitt erwähnt, Anwendungen weiterhin differenzieren und plattformspezifische Authentifizierungsabläufe für jede Anwendung anwenden. Ohne SSO musst du verschiedene Authentifizierungsabläufe je nach Anwendungstyp implementieren.

Darüber hinaus sind fortschrittliche Sicherheitsfunktionen wie Multi-Faktor-Authentifizierung (MFA) einfacher mit SSO zu implementieren, ohne das Authentifizierungsmodell durcheinanderzubringen.

2. Reduzierte Angriffsfläche

In der Theorie reduziert SSO die Angriffsfläche, da du nur einen Authentifizierungsserver sichern musst, anstatt mehrere Anwendungen. Der zentrale Ansatz erleichtert auch die Überwachung und Erkennung verdächtiger Aktivitäten.

3. Erprobte Standards und Protokolle

Offene Standards und Protokolle wie OpenID Connect und OAuth 2.0 werden in der Industrie weit verbreitet und sind seit Jahren erprobt. Beide passen zum Konzept des SSO und werden von den meisten Identitätsanbietern (IdPs) unterstützt. Durch die Kombination dieser Standards mit SSO kannst du ein sicheres und zuverlässiges Authentifizierungssystem haben.

Ok, lass uns SSO implementieren

Die Implementierung von SSO kann groß und kompliziert sein, es gibt viele Dinge zu berücksichtigen, wie:

  • Einhaltung von Standards und Protokollen
  • Authentifizierungsflüsse für verschiedene Client-Typen
  • Mehrere Anmeldemethoden
  • Sicherheitsfunktionen wie MFA
  • Benutzererfahrung
  • Zugangskontrolle

Jedes dieser Themen könnte ein eigener Artikel sein und überwältigend sein. Der Einfachheit halber ist es besser, mit einem verwalteten Dienst zu beginnen, der SSO direkt bietet. Unser Produkt Logto ist ein solcher Dienst und es wird nur ein paar Minuten dauern, es in deine Anwendung zu integrieren.

Eine der häufigsten Bedenken bei der Verwendung eines verwalteten Dienstes ist das Anbieterschloss. Glücklicherweise ist dies kein Problem mit Logto. Logto ist auf Grundlage von OpenID Connect und OAuth 2.0 aufgebaut und von Haus aus Open Source. Wir legen Wert darauf, unseren Kunden Sicherheit zu bieten und streben danach, dir die Freiheit der Wahl zu geben.