Nutzung der Web-App über externe Services aus unterschiedlichen Domänen (CORS)
⚙️ Verfügbar ab 8.46
Die Versionen von 8.29 bis 8.45 lassen diese Funktionalität nicht zu.
Überblick
Unsere WebApp kann nicht nur direkt im Browser aufgerufen werden, sondern auch von anderen Webanwendungen eingebettet oder genutzt werden, zum Beispiel:
-
ein Webshop
-
ein Kundenportal
-
ein externes Bestell- oder Verwaltungsportal
Damit diese externe Anwendung technisch auf unsere Web-App zugreifen darf, ist eine spezielle Sicherheitseinstellung erforderlich.
Hintergrund: Warum und wann ist diese Einstellung nötig?
Moderne Browser schützen Benutzer durch eine Sicherheitsrichtlinie namens Same-Origin-Policy. Diese verhindert, dass eine Website ohne Erlaubnis auf Daten oder Funktionen einer anderen Website zugreift.
Beispiel:
-
Webshop läuft unter https://shop.meinefirma.de
-
Unsere WebApp läuft unter https://app.unsersystem.de
Da es sich um unterschiedliche Domänen handelt, blockiert der Browser standardmäßig die Kommunikation. Um diese Kommunikation gezielt und sicher zu erlauben, wird CORS (Cross-Origin Resource Sharing) verwendet.
Erforderliche Konfiguration
Damit externe Webanwendungen (z. B. ein Webshop) die customX Web-App aufrufen dürfen, muss in den customX Einstellungen folgende Option aktiviert werden.
[Options]
isWebserverCorsEnabled = 1
Bedeutung der Option
| Option | Beschreibung |
| isWebserverCorsEnabled | Erlaubt Zugriffe auf die Web-App von anderen Domänen |
| Wert 0 (Standard) | Zugriffe von externen Webseiten werden blockiert |
| Wert 1 | Externe Systeme dürfen die Web-App aufrufen |
Sicherheitshinweis
Die Option ermöglicht nur die technische Freigabe für Cross-Site-Zugriffe. Weitere Sicherheitsmechanismen (z. B. Authentifizierung, Tokens, Benutzerrechte) bleiben weiterhin aktiv und schützen die Anwendung vor unbefugten Zugriffen.
Zusammenfassung
-
Externe Webanwendungen benötigen CORS-Zugriff auf die WebApp
-
Standardmäßig blockieren Browser diese Zugriffe aus Sicherheitsgründen
-
Durch Aktivieren von
isWebserverCorsEnabled = 1wird die Kommunikation erlaubt -
Typische Einsatzfälle sind Webshops, Portale oder eingebettete Anwendungen