CORS (Cross-Origin Resource Sharing) — allows/denies cross-origin HTTP requests.
Using cors middleware:
1const cors = require("cors");23// Allow all origins4app.use(cors());56// Specific configuration7app.use(cors({8 origin: "https://example.com",9 methods: ["GET", "POST", "PUT"],10 allowedHeaders: ["Content-Type", "Authorization"],11 credentials: true,12 maxAge: 86400,13}));1415// Dynamic origin16app.use(cors({17 origin: (origin, callback) => {18 const allowed = ["https://example.com"];19 if (!origin || allowed.includes(origin)) {20 callback(null, true);21 } else {22 callback(new Error("Not allowed by CORS"));23 }24 }25}));
Manual CORS headers:
1app.use((req, res, next) => {2 res.setHeader("Access-Control-Allow-Origin", "https://example.com");3 res.setHeader("Access-Control-Allow-Methods", "GET, POST");4 res.setHeader("Access-Control-Allow-Headers", "Content-Type");5 next();6});