Skip to content

Entwickler-Setup mit dotnet/Kestrel

Dieses Kapitel richtet sich an Personen, die an CMI Anwendungen entwickeln und eine CMI STS Anbindung für diese Anwendung benötigen. Ziel dabei ist es, die entsprechende CMI Anwendung möglichst schnell zum laufen zu bekommen, um Beispielsweise einen Supportfall nachzustellen.

Der CMI STS wird dabei nicht in einem Web-Server installiert, sondern direkt mit dotnet gestartet. Einige benötigte Parameter werden per Kommandozeile an die Anwendungen übergeben, so dass nur "temporäre" Änderungen an der Konfiguration vorgenommen werden. Dieses Setup eignet sich für einen kurzeitigen Betrieb bei Bedarf. Für einen durchgehend laufenden CMI STS kann das Entwickler-Setup für den Betrieb im IIS herangezogen werden.

Wichtig: Die hier gezeigten Schritte und Konfigurationen lassen jegliche Sicherheitsaspekte ausser acht. Dieses Setup ist nicht für den produktiven Betrieb geeignet.

  1. Die Datei appsettings.development.json in das Binär-Verzeichnis des CMI STS kopieren. Die bereits vorhandene Datei appsettings.json soll dabei bestehen bleiben.
  2. Mit dieser Konfiguration sind viele Clients bereits vorkonfiguriert. Clients, die Secrets verwenden (z.B. Push Service und Web Dav), verwenden das Secret "dev".
  3. Es ist nur ein Mandant konfiguriert, der "dev" heisst.
  4. Der technische Benutzer im CMI, der vom Push Service verwendet wird, ist mit pushServiceAdmin und dem Passwort "dev" konfiguriert.
  5. Den CMI STS mit folgenden Parametern starten:

CMI.STS3.exe --environment "Development" --Tenants:dev:CmiPrivateUri="<CMI Server Owin Private>"

Ist kein exe vorhanden, kann der STS auch mit folgendem Command gestartet werden:

dotnet CMI.STS3.dll --environment "Development" --Tenants:dev:CmiPrivateUri="<CMI Server Owin Private>"

Wobei CmiPrivateUri auf den Port der Owin-Private-Schnittstelle des CMI Servers zeigt (z.B. https://localhost:10104, http funktioniert ebenso) 3. Der Konsolen-Output zeigt an, an welchen Port sich der CMI STS gebunden hat (in diesem Beispiel https://localhost:5001) 4. Den CMI Server starten:

CMI.Server.Service.exe /NOSERVICE /tenantid dev /authentication:loginstrategy sts /authentication:sts:url https://localhost:5001/dev 5. Die URL https://localhost:5001/dev/identity/diagnostics aufrufen und ein Login durchführen. Ist der Login nicht möglich, mit Fehler im "CMI Server"-Log "Could not request sts endpoint", muss zuerst noch den development certs vertraut werden: dotnet dev-certs https --trust 6. Werden andere Systeme wie der CMI Server oder Schnittstellen als Service(localhost) ausgeführt vertrauen diese dem Dev Zertifikat nicht automatisch. Daher müssen die erstellten Zertifikate aus dem User Kontext in denn Computer Kontext übertragen werden. Dazu kann die Zertifikats Verwaltung über die mmc.exe einmal im Kontext des Benutzers und einmal im Kontext des Computeraccounts geöffnet werden und das Zertifikat von dort exportiert und anschliessend importiert werden.
7. Für den technischen Benutzer des Push-Services muss im CMI der Benutzer pushServiceAdmin mit dem Passwort "dev" angelegt werden. 8. Die gewünschten Client-Anwendungen für den STS konfigurieren.