SSO für Eilige - Migration von einer Legacy-Lösung zu OpenID-Connect
Single Sign-On ist in der DEVK ein alter Hut – so alt, dass das etablierte Verfahren lange vor OpenID Connect eingerichtet wurde. Im Zuge der Zerlegung einer umfangreichen monolithischen Anwendung in cloudbasierte Microservices wurde das Thema SSO akut. Das Team entschied sich für OpenID Connect, wollte aber nicht bis zur Umstellung der globalen SSO-Landschaft warten. Daher beschlossen wir, das Pferd von hinten aufzuzäumen. Die Microservices, die die Rolle von Resource Servern übernehmen, bauen auf OpenID Connect auf, die JWT-Tokens werden ad hoc von der nach und nach zu migrierenden monolithischen Anwendung erzeugt, die über alle notwendigen Informationen (Rechte, Claims, eingeloggte User) verfügt. Sobald ein "ordentlicher" Authorization Server verfügbar ist, schwenken wir auf diesen. Für unsere bis dahin voraussichtlich umfangreiche Microservice-Landschaft sollte sich bis auf die Validierungquelle nichts ändern.
Dieser Erfahrungsbericht beschreibt das Konzept der noch andauernden Migration und setzt einen weiteren Schwerpunkt auf die Frage, wie ein Security-by-Default-Ansatz durch Bereitstellung des entsprechenden Toolings für EntwicklerInnen so einfach wie möglich gemacht wird. Jeder templatebasierte neue Service läuft, wenn nicht explizit eine gegenteilige Entscheidung getroffen wird, erst mal authentisiert und enthält schon Beispiele für autorisierte REST-Endpunkte. Diese müssen dann nur noch für den jeweiligen Einsatzzweck des Services angepasst werden.