Cross Origin Ressource Sharing (CORS)
Der CMI STS muss die Kommunikation mit seinen APIs aus Client-seitigem JavaScript explizit erlauben. Das tut er, in dem er die sogenannten Access-Control-...
-Headers in seinen HTTP-Antworten setzt, wenn er entsprechend konfiguriert ist. Vor allem in SPAs wie dem CMI WebClient oder der mobilen Sitzungsvorbereitung ist eine entsprechende Konfiguration nötig, damit diese Applikationen ihr Token zum Zugriff auf CMI korrekt abfragen können.
Zu der Funktionsweise und den Sicherheitsimplikationen von Cross-Origin-Request-Sharing können Dokumente wie mdn web doc von Mozilla konsultiert werden.
Konfiguration in STS
Damit der CMI STS den Zugriff von bestimmten Applikationen erlaubt und die entsprechenden Header setzt, muss die Origin der Applikation in ihrem Client
-Konfigurationsabschnitt gepflegt werden:
appsettings.json
{
//...
"tenants": {
"hauptmandant": {
"Clients": [
{
"ClientId": "WebAppClient",
"AllowedCorsOrigins": ["https://webclient.cmiag.ch"] // Erlaubt Cors-Zugriff von "https://webclient.cmiag.ch"
// Für die lokale dev-Umgebung muss die URL mit Port eingetragen werden z.B. "http://localhost:4200"
//...
}
]
//...
}
}
}