Compatibilidad con CORS en el servicio de identidad de Experience Cloud

Los navegadores utilizan Cross Origin Resource Sharing (CORS) para solicitar recursos de un dominio que no es el dominio en uso. El servicio de identidad de Experience Cloud admite los estándares CORS que habilitan solicitudes de recursos de origen diverso del lado del cliente. El servicio de ID cambia a solicitudes JSONP en los navegadores más antiguos o que no admiten el mecanismo CORS.

Problemas con políticas del mismo origen y solicitudes del servicio de ID

Las directivas del mismo origen son controles de seguridad o restricciones que aplica un explorador Web. Cuando se aplica en este nivel, el propio explorador Web determina si se permitirá o bloqueará una solicitud de recursos realizada de una página a otra. Para determinar si una solicitud es de mismo origen, el explorador compara:

  • Identificadores de recursos uniformes (URI)
  • Nombres de host (por ejemplo, http://www.my-webpage-example.com)
  • Números de puerto (por ejemplo, puertos 80 y 440 para solicitudes HTTP y HTTPS)

El explorador permite que una solicitud se realice correctamente si ambas páginas comparten estas características y bloquea las solicitudes de recursos en caso contrario.

CORS resuelve problemas con políticas del mismo origen

CORS proporciona una manera segura y eficaz de solicitar recursos en distintos dominios. La especificación CORS incluye un conjunto de encabezados HTTP que los navegadores utilizan para enviar, recibir y evaluar solicitudes de recursos. Evaluar una solicitud de recurso es lo que se conoce como preflight check. Esta comprobación permite a los exploradores y servidores determinar qué solicitudes están permitidas o bloqueadas. La verificación previa es transparente para la aplicación, la API o el script que solicita un recurso. Dos encabezados importantes en el proceso de solicitud de recursos son:

  • Origin: un encabezado de solicitud que identifica el origen de una solicitud.
  • Access-Control-Allow-Origin: un encabezado de respuesta que indica si se puede compartir un recurso con el solicitante.

Veamos el funcionamiento de estos encabezados. En este ejemplo, supongamos que tenemos una empresa de servicios financieros que ha implementado el servicio de Experience Cloud ID de en su sitio, www.finance-website.com. La siguiente tabla define cómo los encabezados de solicitud y respuesta CORS comprueban el acceso a un recurso.

Acción Descripción

Solicitud

Cuando se carga la página de la empresa de finanzas, el navegador realiza una solicitud a dpm.demdex.net. Es una llamada al dominio de los servidores de recopilación de datos (DCS) que utiliza el servicio de ID. Esta solicitud entre dominios incluye el encabezado:

  • Origin: https://www.finance-website.com

Respuesta

La respuesta del dominio DCS incluye estos encabezados que proporcionan al sitio de la compañía financiera acceso a los recursos necesarios:

  • Access-Control-Allow-Origin: https://www.finance-website.com
  • Access-Control-Allow-Credentials: true

Consulte también useCORSOnly.

Otras ventajas al usar CORS

En la tabla siguiente se describen algunas de las ventajas que CORS ofrece a los clientes que utilizan el servicio de ID.

Ventaja Descripción

Mayor seguridad

CORS utiliza XMLHttpRequest para solicitar y transferir datos. Este método es más seguro que una solicitud JSONP. Garantiza que no hay forma de ejecutar JavaScript arbitrario, que podría estar contenido en la respuesta del DCS. La carga útil de respuesta CORS XMLHttpRequest la analiza el JavaScript del servicio de ID y no se ejecuta simplemente en una función de llamada de retorno.

Nota: Para aceptar cookies, el objeto XMLHttpRequest tiene que tener su propiedad withCredentials establecida en true. Esta propiedad es compatible con Chrome, Firefox, Internet Explorer (v10+), Opera y Safari.

Mejoras en el rendimiento

CORS ayuda a mejorar el rendimiento porque:

  • El explorador administra las solicitudes de recursos. El proceso de solicitud es transparente para el servicio de ID.
  • A diferencia de las solicitudes JSONP asincrónicas, el explorador no anula la prioridad ni coloca en cola las solicitudes CORS.
  • El servicio de ID responde de manera permisiva. Esto significa que, cuando se ha pasado una URL como Origin, el servicio de ID concederá a la página acceso a los recursos solicitados.

En esta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now