SimpleSAMLphp als Service Provider

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.

Aktualisierung auf SimpleSAMLphp 2.0

Die Original-Schulungsunterlagen beziehen sich auf SimpleSAMLphp 1.19 und sind weiterhin im Branch simplesamlphp-1.19 verfügbar.

Schulung

Abstract

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.

Allgemeines

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.

Testumgebung mit Docker

Voraussetzungen

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

Einrichtung der Testumgebung

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)

Testen

Zum Beispiel für 01 Voraussetzungen:

Bauen und Starten

docker compose -f 01_voraussetzungen/compose.yaml build
docker compose -f 01_voraussetzungen/compose.yaml up -d

Wechsel in den Container

docker exec -ti 01_voraussetzungen-sp-1 bash

Stoppen und Container aufräumen

docker compose -f 01_voraussetzungen/compose.yaml down

Kein Docker

Das jeweilige Dockerfile inklusive der Dateien unter resources kann auch als Schritt für Schritt Anleitung für ein Ubuntu 22.04 verwendet werden.

Links