Migration von CMI STS 4.X auf CMI STS 5.0
Dieses Kapitel fasst das Update von Version 4.X auf 5.0 zusammen.
- Migration von CMI STS 4.X auf CMI STS 5.0
- Breaking Change: Client-Konfiguration mit
authorization_codeundclient_credentials - Update-Anleitung
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_codeundclient_credentialsgleichzeitig 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), mitRedirectUrisundPostLogoutRedirectUris. - Confidential Client für Background-Jobs / M2M: nur
client_credentials, mit zwingendem Client Secret.RedirectUriswerden 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.
- Backup aller Konfigurations- und Programmdaten. Sollte ein Rollback erforderlich sein, können alle Daten wiederhergestellt werden um den ursprünglichen Zustand wieder herzustellen.
-
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.
-
Stoppen des CMI STS.
-
Das Update auf die Version 5.0 erfolgt durch den Austausch der Programmdateien. Alle Konfigurationsdateien wie
appsettings.jsonoderweb.configdürfen nicht überschrieben oder gelöscht werden. Sofern in Verwendung, muss das bestehende Schlüsselmaterial (PFX-Dateicert.pfxoder Keypair-Dateien) beibehalten werden (Siehe auch Token-Signierung). -
Starten des CMI STS.