Browser verwenden Cross Origin Resource Sharing (CORS) zum Anfordern von Ressourcen von einer Domain, die nicht der aktuellen Domain entspricht. Der Experience Cloud Identity Service unterstützt CORS-Standards, die diese clientseitigen, ursprungsübergreifenden Ressourcenanforderungen ermöglichen. Der ID-Dienst greift bei älteren Browsern oder Browsern ohne CORS-Unterstützung auf JSONP-Anforderungen zurück.
Eine Same-Origin-Policy ist eine Sicherheitskontrolle oder Einschränkung, die von einem Webbrowser erzwungen wird. Wenn sie auf dieser Ebene erzwungen wird, bestimmt der Webbrowser selbst, ob eine Anforderung von Ressourcen, die von einer Seite an eine andere gesendet wird, zulässig ist oder blockiert wird. Um festzustellen, ob es sich bei einer Anforderung um eine Anforderung mit derselben Herkunft handelt, vergleicht der Browser Folgendes:
Der Browser lässt eine Anforderung zu, wenn beide Seiten dieselben Eigenschaften aufweisen, und blockiert die Ressourcenanforderung, wenn dies nicht der Fall ist.
Cross Origin Resource Sharing (CORS) bietet eine sichere und effektive Möglichkeit, Ressourcen über verschiedene Domänen hinweg anzufordern. Die CORS-Spezifikation enthält eine Reihe von HTTP-Headern, die Browser zum Senden, Empfangen und Auswerten von Ressourcenanforderungen verwenden. Die Evaluierung einer Ressourcenanforderung heißt preflight check
. Mit dieser Prüfung können Browser und Server bestimmen, welche Anforderungen zulässig sind oder blockiert werden sollen. Die Preflight-Prüfung ist transparent für die mobile App bzw. API oder das Skript, die bzw. das eine Ressource anfordert. Zwei Header, die für den Ressourcenanforderungsprozess wichtig sind, sind:
Origin
: Ein Anforderungsheader, der die Anforderungsquelle ermittelt.Access-Control-Allow-Origin
: Ein Antwortheader, der angibt, ob eine Ressource für den Anforderer freigegeben werden kann.Im Folgenden wird die Funktionsweise dieser Header erläutert. Angenommen, ein Finanzdienstleistungsunternehmen hat den Experience Cloud ID-Dienst auf der eigenen Site www.finance-website.com implementiert. Die folgende Tabelle definiert, wie die CORS-Anforderungs- und Antwort-Header den Zugriff auf eine Ressource prüfen.
Aktion | Beschreibung |
---|---|
Anfrage |
Beim Laden der Seite des Finanzunternehmens stellt der Browser eine Anforderung an dpm.demdex.net. Dies ist ein Aufruf an die Domain der Datenerfassungs-Server (DCS), die vom ID-Dienst verwendet wird. Diese Domain-übergreifende Anforderung enthält den Header:
|
Antwort |
Die Antwort der DCS-Domäne enthält die folgenden Header, die der Website des Finanzunternehmens Zugriff auf die erforderlichen Ressourcen gewähren:
|
Siehe auch useCORSOnly.
In der folgenden Tabelle werden einige der Vorteile beschrieben, die CORS Kunden bietet, die den ID-Dienst verwenden.
Vorteil | Beschreibung |
---|---|
Erhöhte Sicherheit |
CORS verwendet XMLHttpRequest, um Daten anzufordern und zu übertragen. Diese Methode ist sicherer als eine JSONP-Anfrage. Sie stellt sicher, dass es keine Möglichkeit gibt, beliebigen JavaScript-Code auszuführen, der in der Antwort des DCS enthalten sein könnte. Die Payload der CORS XMLHttpRequest-Antwort wird vom JavaScript des ID-Dienstes analysiert und nicht einfach in einer Rückruffunktion ausgeführt.
Hinweis: Zum Akzeptieren von Cookies muss die Eigenschaft withCredentials des Objekts XMLHttpRequest auf true festgelegt sein. Diese Eigenschaft wird in Chrome, Firefox, Internet Explorer (Version 10 und höher), Opera und Safari unterstützt. |
Leistungsverbesserungen |
CORS hilft, die Leistung zu verbessern, denn:
|