Skip to content

it-at-m/ELSTER_NEZO_Plugin

Repository files navigation

Keycloak (RedHat SSO) ELSTER Plugin

Plugin für Keycloak bzw. RH-SSO zur Anbindung des ELSTER Unternehmenskontos / NEZO (https://mein-unternehmenskonto.de/).

Über das Projekt

Keycloak in der Version vor 20.0.0 sowie die zum aktuellen Zeitpunkt (Dezember 2022) neueste Version 7.6 vom RedHat Single-Sign-On (RH-SSO) ist nicht geeignet für eine Anbindung an das ELSTER Unternehmenskonto (NEZO), da dort in der SAML-Response komplexe, ELSTER-eigene Datentypen verwendet werden.

Ab Keycloak 20.0.0 existiert hierzu ein Fix. Da aber die aktuelle Version der kommerziellen Variante RH-SSO 7.6 auf Keycloak 18.0.3 basiert (vgl. die Komponentenliste), wird dort noch zusätzlicher Code in Form eines Plugins benötigt.

Das vorliegende Plugin erfüllt diesen Zweck, indem es die komplexen Datentypen in der SAML-Response in einfache Datentypen vom Typ String umwandelt, bevor die SAML-Response geparst und verarbeitet wird.

(nach oben)

Bauen

mvn clean install

(nach oben)

Deployen

Entweder:

  • Keycloak muss laufen
  • Folgendes ausführen
mvn wildfly:deploy

Oder:

Die Datei elster-authenticator....jar aus dem Verzeichnis target (existiert nach dem Build-Prozess) in das Keycloak-Verzeichnis standalone/deployments kopieren. Erst danach den Keycloak starten.

Immer:

  • Unter themes\base\admin\resources\partials die Datei realm-identity-provider-saml.html duplizieren und nach realm-identity-provider-elster.html umbenennen.
  • Fall KeyCloak schon im Browser läuft, einmal refreshen (F5)

(nach oben)

Konfigurieren

  • Im Keycloak einen Realm public anlegen.
  • Darin unter Identity Providers im Dropdown ELSTER auswählen
  • Ganz nach unten scrollen und Datei elster-idp-sso-descriptor-int.xml (vom LfST) einspielen
  • Konfiguration wie in Datei gezeigt Keycloak-Konfiguration.docx vornehmen.

(nach oben)

Testen

Um auf einem lokalen PC einen Test gegen ELSTER zu realisieren, muss man in der Windows-Hosts-Datei einen neuen Eintrag vornehmen (z.B. elster.meine-organisation.org). Unter diesem Eintrag muss man dann auch im Keycloak die Metadaten extrahieren und im SSP hinterlegen. Am besten stellt man den Keycloak-Port noch von standardmäßig 8080 auf 80 um.

Ein Test ist am einfachsten über die in den Keycloak integrierte Account-Anwendung möglich:

Diese ist folgendermaßen zu erreichen:

http://elster.meine-organisation.org/auth/realms/public/account

Falls ELSTER als Default-Provider konfiguriert ist (unter Authentication->Identity Provider Redirector->Actions->Config->Default "elster" eintragen), kommt man sofort zur Login-Maske von ELSTER, an sonsten kommt die Login-Maske des Keycloak, wo man dann "ELSTER" anklickt (nicht direkt einloggen).

(nach oben)

Beitragen

Beiträge sind willkommen.

Wenn Sie einen Verbesserungsvorschlag haben, eröffnen Sie bitte ein Issue mit dem Label "enhancement", forken Sie das Repo und erstellen Sie einen Pull-Request. Sie können auch einfach ein Issue mit dem Stichwort "Verbesserung" eröffnen.

  • Eröffnen Sie ein Issue mit dem Label "enhancement" oder dem Stichwort "Verbesserung".
  • Forken Sie das Projekt
  • Erstellen Sie einen Feature-Branch (git checkout -b feature/AmazingFeature)
  • Commiten Sie Ihre Änderungen (git commit -m 'Add some AmazingFeature')
  • Machen Sie einen Push (git push origin feature/AmazingFeature)
  • Erstellen Sie einen Pull-Request

Mehr dazu in der Datei CODE_OF_CONDUCT.

(nach oben)

Lizenz

Code steht unter der MIT Lizenz. Siehe LICENCE für mehr Infos.

(nach oben)

Kontakt

it@m - opensource@muenchen.de

(nach oben)

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages