Plane deine Architektur
Um Best Practices im Design zu etablieren und deine Architektur zu planen, betrachte deine Bedürfnisse aus verschiedenen Perspektiven. Konzentriere dich auf das Endziel und den Workflow, nicht nur auf die zugrunde liegenden Technologien und Funktionen. Hier sind einige Schlüsselfragen, die dich bei der Erstellung der idealen Architektur für dein Produkt leiten und inspirieren können.
Was ist dein Geschäftsmodell und wer sind die wichtigsten Parteien und Stakeholder?
Im Allgemeinen gibt es zwei Hauptgeschäftsmodelle, B2C und B2B, die jeweils unterschiedliche Parteien in komplexen Identitätsmanagement-Szenarien einbeziehen. Das Verständnis dieser Schlüsselakteure hilft dir, Systeme zu entwerfen, die eine benutzerzentrierte Erfahrung bieten und alle Aspekte des Identitätsmanagements abdecken.
B2C
In B2C-Anwendungen ist das Identitätsmanagement in der Regel unkompliziert und umfasst normalerweise nur zwei Parteien.
Entwickler (Du)
Dies bezieht sich auf Logto Console-Administratoren und -Mitarbeiter — typischerweise du und dein Entwicklungsteam — die den Benutzeridentitätspool verwalten und sichern und direkt mit der Identitätsdatenbank arbeiten. Du kannst Kundenidentitäten direkt in der Logto Console verwalten oder eine kundenspezifische Entwicklung mit der Logto Management API durchführen.
Deine Verbraucher
Deine Verbraucher sind Benutzeridentitäten, die im Kernservice und in der Datenbank von Logto gespeichert sind. In einem B2C-Modell können Verbraucher ihre eigene Authentifizierung und persönlichen Informationen verwalten.
B2B
In B2B-Anwendungen wird eine weitere Ebene und ein weiterer Kontext in diese Architektur eingeführt. Der Geschäftsbereichsinhaber (oder die Organisation) kontrolliert, wer auf ihre Instanz zugreifen kann, wie sie sich authentifizieren und was sie tun können. Die Organisation verwaltet die Identität aller Endbenutzer, die auf ihre Instanz zugreifen.
Entwickler (Du)
Dies bezieht sich weiterhin auf Logto Console-Administratoren und -Mitarbeiter. Obwohl Organisationsadministratoren Identitäten verwalten können, können Entwickler weiterhin Kundenidentitäten direkt in der Logto Console oder durch kundenspezifische Entwicklung mit der Logto Management API verwalten.
Deine Kunden (Organisationsadministratoren)
Deine Kunden sind Geschäftseinheiten, die „Organisationen“ in einer Multi-Tenant-App repräsentieren, zum Beispiel Workspaces in Slack oder Notion. Jeder Workspace hat typischerweise mehrere Rollen und einen oder mehrere Administratoren, die Mitarbeiter oder Benutzer verwalten. Im folgenden Inhalt beziehen wir uns auf Personen, die Mitgliedsidentitäten verwalten KÖNNEN, als "Organisationsadministratoren".
Das Personal, die Partner oder Verbraucher deiner Kunden
Dies sind Endbenutzeridentitäten, die im Organisationskontext als „Mitglieder“ bezeichnet werden und innerhalb einer Organisation verwaltet werden können. Während diese Identitäten durch Organisationen getrennt sind, werden sie alle unter einem einzigen Identitätssystem zusammengefasst.
In realen Szenarien könnten dies aus Produktsicht Unternehmensmitarbeiter, Geschäftspartner oder sogar Verbraucher sein, die mit der Organisation verbunden sind.
Andere
Andere Modelle, wie B2B2C, können aufgrund ihrer Komplexität aus diesen beiden entstehen. Der Ansatz bleibt jedoch derselbe: Alle Änderungen stammen aus derselben Kernbasis.
Im nächsten Kapitel werden wir einen detaillierten Blick auf diese beiden gängigen Architekturen werfen und die von Logto unterstützten Funktionen hervorheben.
Destilliere deine Authentifizierungsbedürfnisse
Sobald du die wichtigsten Benutzer und Parteien in deinem Technologie- und Produktdesign verstehst, betrachte die folgenden Fragen, um deine Identitätsarchitektur zu verfeinern und deine Authentifizierungsbedürfnisse und Kontrollstufe zu bestimmen:
-
Welche Optionen haben Kunden für die Authentifizierung und die Anmeldeerfahrung? Diese hängen normalerweise von deinem Geschäft, deiner Akquisitionsstrategie und deinen Produktbedürfnissen ab.
z.B. Welche Funktionen sind für meine App erforderlich? Soziale Anmeldung? Passwortloses Login?
-
Welches Maß an Kontrolle möchtest du (Entwickler) über Kundenaktionen haben?
z.B. Können Kunden ihr Profil aktualisieren und pflegen? Können Kunden MFA selbst ein- und ausschalten? Können sie bevorzugte Anmeldemethoden wählen?
-
Welche Arten von Anpassungen möchtest du an Organisationen delegieren? Diese hängen von der Domäne und Branche deines Produkts sowie den spezifischen Bedürfnissen deiner Kunden ab und können von einer Organisation zur anderen variieren.
z.B. Sollte die Anmeldeerfahrung für jede Organisation variieren? Und wenn ja, sollte die Anpassung auf das Branding beschränkt sein oder auch Unterschiede im Authentifizierungsablauf umfassen?
-
Welches Maß an Kontrolle möchtest du, dass deine Organisationsadministratoren über die Aktionen ihrer Mitglieder haben?
z.B. Sollte der Organisationsadministrator entscheiden können, ob MFA erforderlich ist? Sollte der Administrator die Möglichkeit haben, das Passwort eines Mitglieds zu ändern?
Benötigst du ein einziges universelles Identitätssystem oder mehrere separate?
Eine weitere wichtige Frage, die du im Hinterkopf behalten solltest, ist, ob du oder ein Segment deines Geschäfts oder Produkts ein Identitätssystem oder separate benötigst.
Typischerweise lautet die Antwort ein einziges universelles Identitätssystem, was bedeutet, dass du nur einen Logto-Mandanten (oder eine Logto-Admin-Console-Instanz in OSS) benötigst. Logto ist so gebaut, dass es sowohl mehrere Apps als auch mehrere Organisationen innerhalb eines einzigen Mandanten unterstützt. Ein Produktions-Logto-Mandant ist normalerweise ausreichend für die meisten Bedürfnisse. Hier sind einige häufige Szenarien, denen du begegnen könntest:
Ich möchte eine SaaS-Anwendung mit Multi-Tenancy erstellen
Wenn du eine SaaS-Anwendung mit dem Konzept eines "Workspaces" oder einer "Organisation" für jeden Kunden erstellst, kannst du Organisationen verwenden, um den Workspace jedes Kunden innerhalb eines einzigen Mandanten zu verwalten.
In diesem Fall kann ein Benutzer Mitglied mehrerer Organisationen sein. Zum Beispiel kann ein Benutzer einen persönlichen Workspace haben und dem Unternehmens-Workspace beitreten.
Ich habe mehrere Anwendungen
Mit Logto kannst du mehrere Anwendungen innerhalb eines einzigen Mandanten verwalten, unabhängig von
- Der Art der Anwendung (zum Beispiel Web, Mobil, Desktop, etc.)
- Den Anwendungsfällen und Funktionen der Anwendung (zum Beispiel Fahrer-App, Hailer-App, etc.)
Ich habe mehrere Unternehmenskunden
Du kannst Organisationen mit Enterprise SSO verwenden, um mehrere Unternehmenskunden innerhalb eines einzigen Mandanten zu verwalten. Durch die Konfiguration der Enterprise SSO-E-Mail-Domäneneinstellungen und die Verwendung der Just-in-Time-Bereitstellungsfunktion kannst du den Prozess automatisieren, bei dem Benutzer mit Enterprise SSO-Konten den entsprechenden Organisationen beitreten oder sich anmelden.