Übersetzungen dieser Seite:
 

Single Sign-On (SSO) via Shibboleth

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.

SimpleSAMLphp

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öderdationMeta-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:

  • PersistentID (z.B. eduPersonTargetedId)
  • Vorname
  • Nachname
  • E-Mail-Adresse

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 AuthentifizierungTeste 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.

Vorbereitung 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.

  • Unter ServerSoftwarelizenz Server (unten) tragen Sie bitte Ihren Lizenzschlüssel für SoSci Survey ein und rufen mit OK die aktuelle Lizenz für SoSci Survey mit SSO-Unterstüzung ab.
  • Unter ErweiterungenKomponenten aktivieren (unten) sollte in der Liste „Single Sign On (SSO)“ auftauchen. Klicken Sie auf den Knopf Komponenten aktivieren (unten), anschließend sollte ein Kreuzchen vor dem Modul angezeigt werden.
  • Unter Registrierung → wählen Sie nun für Single-Sign-On Modus die Option „Knopf für SSO-Login unter dem Login-Passwort“

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…

  • den Pfad, wo SoSci Survey Ihre Installation von SimpleSAMLphp findet ('simplesaml').
  • die interne Kennung, welche Sie in config/authsources.php für SoSci Survey verwendet haben ('sp', Standard: default-sp)
  • die URL Ihres Identity-Providers ('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:

  • Wie lange sollen SSO-Benutzerkonten (inkl. Projekten) nach dem letzten Login in SoSci Survey gespeichert bleiben? Wir empfehlen 2 Jahre.
  • Sollen existierende Benutzerkonten auf Ihrem Befragungsserver in SSO-Konten umgewandelt werden, wenn der erste Login via SSO erfolgt? Die Zuordnung erfolgt anhand der E-Mail-Adresse.

Abschluss der Konfiguration

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 RegistrierungSingle-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.

de/server/sso-shibboleth.txt · Zuletzt geändert: 07.01.2022 22:28 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki