Wir hosten verschiedene Websites/Webapplikationen. Im Moment muss sich jeder Benutzer bei jeder Anwendung anmelden. Jede Anwendung hat ihren eigenen DB mit User/PW/Permissions.SSO für verschiedene Websites mit eigenen DBs für Berechtigungen
Ich möchte eine Single-Sign-On-Lösung erhalten, die nur die Authentifizierung und den Rest wie Benutzerberechtigungen aus der Anwendungs-DB gelesen werden soll. Die Authentifizierung sollte nur funktionieren, wenn der Benutzer in der Anwendungs-DB existiert. Wenn der Benutzer in einer Anwendung "A" angemeldet ist und die App "B" öffnet, sollte er nicht erneut zur Anmeldung aufgefordert werden. Ich habe mir simplesamlphp angeschaut, aber ich finde keine Möglichkeit, die Anwendungs-DB nach verschiedenen Anwendungen für einen bestehenden Benutzer zu durchsuchen und ihn dann beim IdP einzuloggen.
Danke für die Antwort. Ich habe etwas über WAYF (Wo kommst du her) gelesen, welches entdeckt, von welcher Anwendung du kommst und leitet dich auf WAYF zu verschiedenen IDPs weiter. Dies würde bedeuten, dass jede Anwendung ihren eigenen IDP hat, der das SQL-Modul für ihre lokale DB verwendet. Aber wo speichert Simplesamlphp die aktiven Sitzungen? Ist es möglich, aktive Sessions/Tokens von den verschiedenen IDPs in eine zentrale "active session DB" zu schreiben? Benutzernamen in den verschiedenen Anwendungen sind immer gleich der Nachname. – Nico
SSP speichert die Sitzung lokal. Sie können es konfigurieren, um sie in einem DB oder in Memcache zu speichern, wenn Sie sie teilen möchten. Ich bin mir nicht sicher, ob und wie funktioniert die Freigabe zwischen IdPs mit verschiedenen Konfigurationen. Es sieht so aus, als hätten Sie zwei gegensätzliche Ziele: Sie haben separate IdPs pro App und teilen eine IdP-Sitzung unter allen IdPs. Wenn das Teilen wichtig ist, denke ich, dass es besser ist, ein einzelnes IdP zu haben (und MultiAuth oder ein benutzerdefiniertes Modul zu verwenden) und dann authz in der App auszuführen, oder wenn nötig, schreibe ein Modul dafür. – Patrick