Für SoSci Survey ist ein Zusatzmodul verfügbar, welches die Anmeldung via Shibboleth/SAML2 erlaubt. Im folgenden wird die Vorbereitung zur Nutzung dieses Zusatzmoduls erläutert.
SoSci Survey greift für die Shibboleth-Anbidnung auf die Software SimpleSAMLphp zurück. Diese muss auf demselben Server installiert werden, auf welcher auf SoSci Survey läuft.
Es gibt SimpleSAMLphp als Paket für unterschiedliche Linux-Distributionen. Ebenso kann die Software heruntergeladen und auf den Server kopiert werden. Wenn Sie die zweite Möglichkeit nutzen, sollten Sie die Konfiguration außerhalb des simplesamlphp
-Verzeichnis ablegen, um Aktualisierungen zu vereinfachen.
Die Installation von SimpleSAMLphp ist nicht ganz trivial, wird in folgender Anleitung aber Schritt für Schritt beschrieben: SimpleSAMLphp Documentation
Nach Installation und Konfiguration von SimpleSAMLphp können Sie Software über eine eigene URL aufrufen. Dort finden Sie unter Föderdation → Meta-Daten anzeigen eine URL, welche Sie Ihrem Identity-Provider (IdP) mitteilen können, damit dieser Ihre Installation von SoSci Survey (Service Provider, SP) für den Campus-Login freischaltet.
Teilen Sie dem IdP bitte mit, dass Sie folgende Attribute der Nutzer:innen benötigen:
eduPersonTargetedId
)
Damit das Zusammenspiel von SimpleSAMLphp mit SoSci Survey funktioniert, tragen Sie in der config.php
von SimpleSAMLphp bitte den Session-Pfad von SoSci Survey ein. Der genaue Pfad hängt von Ihrer SoSci Survey Installation ab.
'session.phpsession.savepath' => '/var/www/s2survey/html/system/session'
Weiterhin passen Sie bitte die Konfiguration für session.cookie.secure
an, sonst funktioniert die Authentifizierung bei Verwendung von HTTPS/SSL (was Ihr Server selbstverständlich unterstützen sollte) in der aktellen Version von SimpleSAML nicht in Chrome und Edge.
'session.cookie.secure' => true
Stellen Sie nun sicher, dass unter Föderation die Funktion Metarefresh: fetch metadata funktioniert und dass der Cronjon zum regelmäßigen Abruf der Metadaten aktiv ist (SimpleSAMLphp: Cron).
Wenn der Login unter Authentifizierung → Teste die konfigurierten Authentifizierungsquellen funktioniert, und wenn dort die o.g. Attribute (Vorname, Nachname, E-Mail-Adresse und eine ID) angezeigt werden, dann ist alles bereit für die Anbindung von SoSci Survey.
Aktualisieren Sie Ihre Installlation von SoSci Survey auf Programmversion 3.2.37 oder neuer (Download-Portal).
Nach Bestellung des SSO-Moduls können Sie im Download-Portal das Modul „Single Sign-On (SSO)“ herunterladen. Die ZIP-Datie enthält eine Datei component.SingleSignOn.php
. Kopieren Sie diese PHP-Datei in das Unterverzeichnis /modules/
Ihrer Installation von SoSci Survey.
Öffnen Sie die Server-Einstellungen von SoSci Survey.
Nun bearbeiten Sie bitte die Datei system/config.php
in Ihrem SoSci Survey Verzeichnis. Fügen Sie vor dem Ende (?>
) folgenden Inhalt ein:
// ***** Single Sign On (SSO) ***** // Absolute path to the SimpleSAMLPHP directory $GLOBALS['oFb']['sso']['simplesaml'] = '/var/www/shibboleth/simplesaml/'; // ID configured for the login in (see SimpleSAMLPHP -> config/authsources.php) $GLOBALS['oFb']['sso']['sp'] = 'SoSciSurvey'; // Information about the Identity Provider (IdP) $GLOBALS['oFb']['sso']['idp']['setup'] = [ 'label' => 'SSO Setup', // For the IDP URL see SimpleSAMLPHP -> config/authsources.php 'saml:idp' => 'https://YOUR-IDP-URL-HERE/idp/shibboleth', 'handler.file' => 'plugins/SSO/SSOSetup.php', 'handler.class' => 's2survey\account\SSOSetup' ];
Anpassen müssen Sie hier…
'simplesaml'
).config/authsources.php
für SoSci Survey verwendet haben ('sp'
, Standard: default-sp
)'saml:idp'
), diese finden Sie auch in der Konfiguration von SimpleSAMLphp als Attribut 'idp'
.Belassen Sie die weiteren Einstellungen bitte wie gehabt, es geht zunächst darum, die generelle Anbidung zu testen und die übermittelten Schlüssel für die Daten zu prüfen.
Wenn Sie anschließend SoSci Survey auf Ihrem Befragungsserver aufrufen, sollte unter dem regulären Anmeldungsfeld ein Knopf SSO Setup erscheinen. Klicken Sie diesen Knopf. Sie sollten nun zum Identity Provider weitergeleitet werden. Nach den Anmeldung mit dem Campus-Login sollten Sie eine Übersicht „Shibboleth Data“ sehen.
Speichern Sie diese Übersicht und übermitteln Sie diese via E-Mail oder verschlüsselt via s2survey.net/transfer an SoSci Survey. Auf diese Basis können wir dann ein angepasstes SSO-Modul für Sie erstellen.
Weiterhin benötigen wir folgende Informationen von Ihnen:
Das SSO-Modul, welches wir für Ihren Server anpassen, erhalten Sie per E-Mail. Darin auch die passende Konfiguration für die config.php
-Datei in SopSci Survey. Dort wird dann das $GLOBALS['oFb']['sso']['idp']['setup']
noch ersetzt.
Das 'label'
können Sie frei wählen, es ist der Text, welcher ggf. auf dem Knopf im Login-Formular angezeigt wird. Auch die Angabe einer deutschen und englischen Beschriftung ist möglich:
'label' => [ 'de' => 'Campus-Login Unsere Hochschule', 'en' => 'Campus Login Our Univerity' ],
Zuletzte können Sie in den Server-Einstellungen von SoSci Survey unter Registrierung → Single-Sign-On Modus auswählen, ob die Nutzer:innen beide Login-Optionen zur Auswahl angeboten bekommen oder nicht. Falls Sie auch Nutzer:innen haben, die ein lokales Benutzerkonto angelegt hatten, empfehlen wir zunächst die Option „Auswahl anbieten“.
Über den Link /admin/?sso=sosci
kann jederzeit das klassische Login-Formular aufgerufen werden, damit Sie sich z.B. im admin
Benutzerkonto einloggen können.
Es ist zielführend, die Registrierung neuer lokaler Benutzerkonten zu deaktivieren. Dies können Sie im Karteireiter Registrierung bei dem Punkt Registrierung ändern.