Skip to content

Migration von CMI STS 4.X auf CMI STS 5.0

Dieses Kapitel fasst das Update von Version 4.X auf 5.0 zusammen.

Wird von einer Version älter als 4.x aktualisiert, sind vorherige Updateschritte zu beachten.

Die wichtigsten Änderungen in der Version 5.0 sind:

  • Update des ASP.NET Core Frameworks von 8.0 auf 10.0.
  • Update von Duende IdentityServer auf Version 7.4. Hat Auswirkungen auf Clients, die authorization_code und client_credentials gleichzeitig verwenden — siehe Abschnitt unten.

Breaking Change: Client-Konfiguration mit authorization_code und client_credentials

Mit der in 5.0 enthaltenen Aktualisierung von Duende IdentityServer auf Version 7.4 kann ein Client die Grant-Flows authorization_code und client_credentials nicht mehr gleichzeitig verwenden, wenn der authorization_code-Flow kein Client Secret nutzt (z.B. PKCE-Login einer SPA). Für client_credentials wird ein Client Secret weiterhin zwingend vorausgesetzt.

Symptom: Beim Update auf 5.0 werden Clients mit dieser Kombination und RequireClientSecret: false von Duende abgewiesen — der Login-Flow bricht.

Primär betroffen: Der cmi-contactsync-Client, der bisher sowohl die ConfigUI (PKCE-Login ohne Secret) als auch den Background-Service (client_credentials) abdeckt. Die Aufteilung und die anzupassende ContactSync-Konfiguration sind in der CMI ContactSync Service Dokumentation beschrieben.

Empfohlene Migration: Den betroffenen Client in zwei separate Clients aufteilen:

  • Public Client für den ConfigUI-/SPA-Login: nur authorization_code (PKCE, ohne Secret), mit RedirectUris und PostLogoutRedirectUris.
  • Confidential Client für Background-Jobs / M2M: nur client_credentials, mit zwingendem Client Secret. RedirectUris werden hier nicht benötigt.

Siehe auch Duende Discussion #402.

Update-Anleitung

Nach dem Update funktionieren alle abhängigen Systeme ohne Änderungen weiterhin. Ein Rolling-Update skalierter CMI STS Instanzen ist möglich.

  1. Backup aller Konfigurations- und Programmdaten. Sollte ein Rollback erforderlich sein, können alle Daten wiederhergestellt werden um den ursprünglichen Zustand wieder herzustellen.
  2. Erfolgt das Hosting mittels IIS, musst das Hosting Bundle .NET Core 10.0.X vor dem Update installiert werden. Siehe auch Betrieb mit IIS unter Windows.

  3. Stoppen des CMI STS.

  4. Das Update auf die Version 5.0 erfolgt durch den Austausch der Programmdateien. Alle Konfigurationsdateien wie appsettings.json oder web.config dürfen nicht überschrieben oder gelöscht werden. Sofern in Verwendung, muss das bestehende Schlüsselmaterial (PFX-Datei cert.pfx oder Keypair-Dateien) beibehalten werden (Siehe auch Token-Signierung).

  5. Starten des CMI STS.