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.
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.
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:
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.
SSO verbessert die Benutzererfahrung auf zwei Arten:
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:
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.
Die Implementierung von SSO kann groß und kompliziert sein, es gibt viele Dinge zu berücksichtigen, wie:
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.