Dieses Repository entstand bei der Durchführung einer Schulung über Service Provider bei der DFN-AAI im Februar 2021. Ziel war das Kennenlernen der Software SimpleSAMLphp als Service Provider in der DFN-AAI-Föderation.
Die Original-Schulungsunterlagen beziehen sich auf SimpleSAMLphp 1.19 und sind weiterhin im Branch simplesamlphp-1.19 verfügbar.
Referent: Frank Tröger (FAU Erlangen-Nürnberg)
Termin: Donnerstag, 25. Februar, 10:00 - 12:00 Uhr
Vor allem für PHP-Anwendungen könnte SimpleSAMLphp eine echte Alternative zum Shibboleth Service Provider (SP) darstellen. Gemeinsam wird SimpleSAMLphp als SP Schritt für Schritt eingerichtet und soll so den Teilnehmenden eine erste Entscheidungsgrundlage vermitteln, was für oder gegen den Einsatz von SimpleSAMLphp spricht.
Die Schulung behandelt u.a. folgende Themen:
- die Installation,
- die Einbindung in eine eigene PHP-Anwendung,
- den automatisierten Bezug von Metadaten aus der DFN-AAI-Föderation,
- die Grundlagen der Authentication Processing Filters und
- die abschließenden Vorbereitungen für den produktiven Betrieb.
Die einzelnen Schritte werden beispielhaft anhand des SPs https://sso-dev.fau.de/devssp/module.php/saml/sp/metadata.php/default-sp durchgeführt. Jeder Schritt ist in einem eigenen Verzeichnis abgelegt und kann so als Grundlage für eigene Versuche herangezogen werden. Für die Integration in die DFN-AAI-(Test)-Föderation ist ein eigener Account nötig. URLs und Zertifikate sollten durch eigene ersetzt werden.
- Linux
- Docker
- Port 80 und 443 frei
Die in den compose.yaml
verwendeten Docker Volumes sind nur für den
einfachen Zugriff auf das Dateisystem während der Schulung nötig und können bei eigenen
Versuchen entfernt werden.
Zertifikate und Schlüssel müssen auf dem Hostsystem unter /opt/simplesamlphp_sp/
abgelegt werden.
find /opt/simplesamlphp_sp/
/opt/simplesamlphp_sp/
/opt/simplesamlphp_sp/sso-dev.fau.de.crt
/opt/simplesamlphp_sp/sso-dev.fau.de.pem
/opt/simplesamlphp_sp/dfn-aai.pem
(/opt/simplesamlphp_sp/dfn-aai.pem
from https://www.aai.dfn.de/metadata/dfn-aai.pem)
Zum Beispiel für 01 Voraussetzungen:
docker compose -f 01_voraussetzungen/compose.yaml build
docker compose -f 01_voraussetzungen/compose.yaml up -d
docker exec -ti 01_voraussetzungen-sp-1 bash
docker compose -f 01_voraussetzungen/compose.yaml down
Das jeweilige Dockerfile
inklusive der Dateien unter resources
kann auch als Schritt für Schritt Anleitung für ein Ubuntu 22.04 verwendet werden.