Los errores de CORS son muy comunes de encontrar cuando se construye una WebApp. Para más conocimiento de qué es CORS, pueden acceder a este enlace CORS. Este tipo de errores se puede manejar desde el servidor sobre el cual se está realizando la petición.
En el archivo principal index.js
podrán realizar la configuración correspodiente para manejar el acceso de los clientes.
- Establecer la lista de clientes permitidos.
const allowedOrigins = [
'http://localhost:8081',
'https://mydomain.com/'
];
- Establecer configuración de CORS. Esta función revisará si el cliente quien está realizando la petición se encuentra en la lista de clientes admitidos. Si lo está, permite la petición, si no, impide la conexión.
var corsOptionsDelegate = function (req, callback) {
var corsOptions;
if (allowedOrigins.indexOf(req.header('Origin')) !== -1) {
corsOptions = { origin: true } // reflect (enable) the requested origin in the CORS response
} else {
corsOptions = { origin: false } // disable CORS for this request
}
callback(null, corsOptions) // callback expects two parameters: error and options
}
- Agrega la configuración en los endpoints correspondientes.
app.use("/", cors(corsOptionsDelegate), routing);
app.use("/compras", cors(corsOptionsDelegate), routerCompras);
app.all("*", cors(corsOptionsDelegate), (req, res) => res.status(404).send({
success: false,
msg: "This route does not exist"}));