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.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]