How do I allow multiple domains for CORS in express in a simplified way.
I have
cors: { origin: "www.one.com"; } app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", cors.origin); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); });
This works when there is only one domain mentioned in origin
But if I want to have origin
as an array of domains and I want to allow CORS for all the domains in the origin array, I would have something like this -
cors: { origin: ["www.one.com","www.two.com","www.three.com"]; }
But then the problem is this below code would not work -
app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", cors.origin); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); });
How do I make res.header
take an array of domains via cors.origin
?
Allowing Multiple origins Example: const express = require("express"); const cors = require("cors"); const app = express(); const allowedOrigins = ['http://open-24.com', 'http://close-24.com']const corsOptions = { origin: function (origin, callback) { if (allowedOrigins. indexOf(origin) !==
Enabling CORS The easiest way to get CORS working in Express is by using the cors npm module. That's it. CORS is now enabled. The Access-Control-Allow-Origin header determines which origins are allowed to access server resources over CORS (the * wildcard allows access from any origin).
I would recommend the cors-module: https://www.npmjs.org/package/cors It does this kind of stuff for you - check the "Configuring CORS w/ Dynamic Origin"-Section
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With