Einrichtung SSO via SAML
Einrichtung am FTAPI System
- Aus dem FTAPI Server SSL-Zertifikat mittels openssl und keytool ein saml.jks erstellen:
openssl pkcs12 -in certificate.pfx -out mypemfile.pem
openssl pkcs12 -export -in mypemfile.pem -out saml.p12 -name "saml"
[IhrInstallationsVerzeichnis]/ftapi-server/jre/[linux] oder [windows]/bin/keytool -importkeystore -srckeystore saml.p12 -destkeystore saml.jks
- Eine leere Datei customerIDP.cer erstellen
- Die Datei customerIDP.cer mit folgendem Inhalt befüllen: -----BEGIN CERTIFICATE-----
{INHALT DES XML-TAGS}
-----END CERTIFICATE----- - Die Metadaten .xml-Datei vom Identity Provider beziehen
- Den Inhalt des obersten <X509Certificate></X509Certificate> aus der Datei markieren. ACHTUNG: Es gibt in der Regel mehrere X509 Zertifikate in der Metadata URL - wichtig ist er oberste.
- Den String {INHALT DES XML-TAGS} der customerIDP.cer durch den in Schritt 5. markierten String ersetzen und die Änderungen an der Datei abspeichern
- Die Datei saml.jks nach [IhrInstallationsVerzeichnis]/.ftapi/config verschieben
- Die Datei customerIDP.cer mittels ‘[IhrInstallationsVerzeichnis]/ftapi-server/jre/[linux] oder [windows]/bin/keytool -importcert -file customerIDP.cer -keystore [IhrInstallationsVerzeichnis]/.ftapi/config/saml.jks' importieren
- In der WebUI des FTAPI Systems zur SAML Schnittstelle unter Administration -> System -> Single Sign On SAML 2.0 navigieren
- SAML aktivieren
- Entweder die SAML Metadaten als .xml-Datei direkt hinterlegen oder eine Metadata-URL hinterlegen, von der die Datei bezogen wird
- Das für den saml.jks vergebene Passwort als Keystore Passwort hinterlegen
- Die am Identity Provider definierten Attribute Claims (siehe nächster Absatz Einrichtung am Identity Provider) unter Attributmapping und Gruppenmapping hinterlegen
- Speichern und Dienst neu starten
Einrichtung am Identity Provider
- Erstellen einer Applikation für FTAPI
- Metadaten können von <ftapi-server-url>/saml/metadata bezogen werden
- Folgende Attribute werden als Claims benötigt: E-Mail Address, Name, Name ID
- Optional kann noch das Attribut Group verwendet werden, falls ein Gruppenmapping Richtung FTAPI stattfinden soll