CORS
Cross-Origin Resource Sharing (CORS), o intercambio de recursos de origen cruzado, es un mecanismo que permite ejecutar scripts para interactuar con recursos de fuentes (dominio, puerto y protocolo) que no sean los suyos.
Algunos métodos de solicitud HTTP pueden interferir con los datos del usuario. En tales casos, se debe obtener una "aprobación" anticipada. Esto se hace a través de solicitudes preflight, que son solicitudes HTTP del método OPTIONS que envían previamente la solicitud y que contienen los métodos admitidos dentro los encabezados.
Implementando un método OPTIONS
Para habilitar CORS, debe crear un método de OPTIONS.
Use el mismo path que los otros métodos y añada un interceptor de Mock.
El interceptor debe devolver status 200 y los encabezados:
-
Access-Control-Allow-Origin: aquí puede usar
'*'
(cualquier origen) o especificar el origen con permiso para acceder al recurso. -
Access-Control-Allow-Methods: enumere los métodos que utiliza, en el formato
<método>, <método>, …
.
Nota:
-
Si no implementas el método OPTIONS:
-
los interceptores configurados en el recurso all/all se ignorarán y no serán heredados por el recurso obtenido;
-
Las solicitudes de verificación previa se responderán con un encabezado predeterminado.
clave: valor
Access-Control-Allow-Origin: * Access-Control-Allow-Methods: HEAD, DELETE, POST, GET, OPTIONS, PUT, PATCH
-
si la solicitud preflight contiene el encabezado Access-Control-Request-Headers, la respuesta incluirá su contenido en el encabezado de clave-valor Access-Control-Allow-Headers;
-
si no hay configuración previa y la cabecera Origen no está vacía, el valor devuelto en la cabecera Access-Control-Allow-Origin será el mismo recibido en la cabecera Origen.
-
Share your suggestions with us!
Click here and then [+ Submit idea]