Frage:
Warum wird die URL Integration nicht in einem iFrame angezeigt?
Basics zu iFrames:
Ein iFrame ist ein HTML-Element, mit welchem Sie eine andere Webseite in eine Webseite einbetten können.
Eine URL Integration ist ein Teil des DocuWare WebClients.
Um eine URL Integration in einer anderen Webseite einzubetten, benötigen Sie drei Teile:
- Die Adresse der URL Integration
- Ein iFrame HTML Element in Ihrer Webseite
- Freigabe zur Einbettung: Der Browser benötigt eine Freigabeinformation der eingefügten Webseite. Diese Freigabeinformation teilen Sie durch Header mit. Die Konfiguration der Header erfolgt auf dem Server, auf dem das DocuWare Frontend gehostet wird.
Einbettung Freigeben:
Sobald sich Host (URL), Port oder das Protokoll von DocuWare und Ihrer Webseite unterscheiden, müssen Sie eine Freigabe erteilen
- Ab DocuWare 6.5 bis DocuWare 7.10 > Zur Anleitung
- Ab DocuWare 7.11 > Zur Anleitung
- Mit SSO Login eines externen Providers
- In diesem Fall benötigen Sie zusätzlich zu Punkt 1 oder 2 eine Freigabe Ihres externen SSO Providers, da Sie Ihre User zur Authentifizierung an den Server des Providers weiterleiten.
Die Freigabe wird per CORS policy in der DocuWare\Web\Platform appsettings.json erteilt.
Die Basis Struktur der JSON Datei beinhaltet für diesen Zweck den Schlüssel: SecuritySettings:
"SecuritySettings": {
"ContentSecurityPolicy": "frame-ancestors 'self'",
"Cors": {
"Enabled": false,
"AllowedOrigins": ""
}
},
https://knowledgecenter.docuware.com/docs/install-docuware-on-premises-version-711#securitysettings
DocuWare 6.5 bis DocuWare 7.10
In DocuWare 6.5 bis 7.10 kann die Freigabe durch das konfigurieren des X-Frame-Options erteilt werden. Das Konfigurieren der X-Frame-Options kann als Ad-hoc-Workaround dienen, um die Einbettung zu ermöglichen. Allerdings erhöht dies die Anfälligkeit der Webseite für Cross-Site-Attacken und stellt somit ein Sicherheitsrisiko dar. Technisch gesehen erhält der Browser durch die unten gezeigte Konfiguration keine Anweisung mehr von der DocuWare-Webseite, die Einbettung zu verhindern, wenn DocuWare in eine Webseite mit einer anderen URL eingebettet wird.
- Sichern Sie die Datei "C:\Program Files\DocuWare\Web\Platform\Web.config"
Bzw. ältere Versionen "C:\Program Files (x86)\DocuWare\Web\Platform\Web.config" - Öffnen Sie die Datei "Web.config"
- Suchen Sie folgenden Eintrag:
<location path="WebClient">
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
</system.webServer>
</location> - Entfernen Sie diesen Eintrag oder kommentieren Sie ihn aus (wie in diesem Beispiel):
<!--<location path="WebClient">
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
</system.webServer>
</location> --> - Speichern Sie Ihre Änderungen
- Ein Neustart einer Komponente ist nicht erforderlich!
Der Web Client kann jetzt in einem cross domain iframe angezeigt werden.
Wenn Sie DocuWare 6.5 einsetzen, so müssen Sie zusätzlich Hotfix 21 installieren:
https://dwsupport.blob.core.windows.net/supportdownloads/hotfixes/6.5/DW6.5_Hot21.zip
Mehr Sicherheit bietet die Freigabe per CORS. Die Einrichtung von CORS oder Proxy-Server ist eine technische Angelegenheit, die von Ihrem eigenen Server-Administrator oder IT-Dienstleister durchgeführt werden muss.
DocuWare ist nicht verantwortlich für die Konfiguration oder den Betrieb Ihres Servers oder Ihres Netzwerks. DocuWare bietet Ihnen lediglich den Web Client als eine Softwarelösung an, die Sie auf Ihrem Server installieren und nutzen können.
Warnung: Wenn Sie die X-Frame-Option SAMEORIGIN deaktivieren, öffnen Sie eine Sicherheitslücke. Mit dieser können Angreifer, Requests von anderen Origins senden und somit als cross site scripting ausnutzen.
Deshalb empfehlen wir, die SAMEORIGIN Option beizubehalten und beide Anwendungen (In welcher DocuWare als iFrame eingebettet wird und DocuWare selbst) auf dem gleichen Server zu betreiben.
Browser der neuesten Generation verbieten zudem Cross Domain Kommunikationen ohne HTTPS.
Deshalb wird seit DocuWare 7.4 HTTP die Verwendung von DocuWare innerhalb eines iframe nicht unterstützt (außer bei Firefox oder wenn die iframe-Domäne mit der Browser-Domäne identisch ist).
Siehe technische Änderungen in DocuWare 7.4