SAML2 Service Provider
Die SAML2 Ergänzung für SSO ermöglicht die Authentifikation gegen einen SAML2 kompatiblen Identity Provider (z. B. Microsoft Active Directory). Der SAML2 Service Provider kann über die Konfigurationstabelle SimpleSAMLphp konfiguriert werden. Die Tabelle bietet folgende Konfigurationsmöglichkeiten.
Option | Bedeutung |
---|---|
SSO Domain | Ermöglicht die Festlegung der Domain die für SAML2 verwendet wird. Dies ist relevant für Multi-Domain Installationen. |
Secret Salt | Wird von SimpleSAMLphp genutzt um kryptografische Vorgänge sicherer zu machen |
Admin Passwort | Dieses Passwort ermöglicht den Login im SimpleSAMLphp Admin-Bereich. |
Kontakt E-Mail | Wird bei SimpleSAMLphp im Fehlerfall als Kontakt E-Mail angezeigt. |
Fehler anzeigen | Zeigt auftretende Fehler im Authentifizierungsprozess im Browser an. |
Debug: SAML | Debug Modus für das SAML Protokoll |
Debug: XML | Debug Modus für die XML Kommunikation |
Debug: Backtraces | Zeige Backtraces im Debug Modus |
Log level | Log level für die simplesamlphp-Logfiles unter temp/log/ |
Zugang zur Administrationsoberfläche von SimpleSAMLphp
Die Administrationsoberfläche von SimpleSAMLphp ist lokal erreichbar unter: https://www.example.com/public/saml/. In Produktivumgebungen ist die Oberfläche über einen derartigen Link erreichbar: https://yourdomain.com/public/saml/module.php/saml/sp/metadata.php/VerschlüsselterWertAusProviderKonfiguration
Die Zugangsdaten lauten:
Benutzer: admin
Passwort: "Admin Passwort" aus den Konfigurationsoptionen
Die Administrationsoberfläche ermöglicht einen Zugriff über alle im System konfigurierten Service Provider.
Events
Brandbox\JoinCore\Join\SsoSaml2\Lib\Event\OnManipulateUser
Ermöglicht die Anpassung von instanziierten Benutzern nachdem der Login Mechanismus von SAML2 abgeschlossen wurde. Dieses Event enthält Informationen über den gemappten User, die SSO Provider Konfiguration und alle Attribute, die über vom SAML2-Identity Provoider übergeben wurden. Es erlaubt einem Listener den User oder die Provider Konfiguration anzupassen. Das ergänzen von Attributen oder das Ersetzen des Users ist nicht gestattet.
Beispiel
Beispiel EventSubscriber
class OnManipulateUserSubscriber extends Event\EventSubscriberAbstract
{
/**
* @inheritDoc
*/
public function manipulateUser(Brandbox\JoinCore\Join\SsoSaml2\Lib\Event\OnManipulateUser $event) {
$user = $event->getMappedUser();
$attributes = $event->getSamlAttributes();
$user->setFirstName($attributes[0]);
$user->setLastName($attributes[1]);
$user->setMail('janedoe@example.com');
}
}