Это вопрос стратегии, которую нужно принять и разрешить мои сомнения по поводу идеи, которая у меня есть.
Я хочу разрешить запросы CORS, т.е.Access-Control-Allow-Origin зависит от типа среды, которую я имею.Итак, вот мои заголовки cors:
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', 'https://siteone.com');
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Methods', 'GET,HEAD,OPTIONS,POST,PUT,DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization, access-control-allow-origin');
next();
});
Но я хочу, чтобы условная логика была такой:
const ACAOSite = process.env.NODE_ENV == 'production' ? 'https://siteone.com' : 'https://sitetwo.com';
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', ACAOSite);
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Methods', 'GET,HEAD,OPTIONS,POST,PUT,DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization, access-control-allow-origin');
next();
});
Хотя это хорошая практика?Есть ли другой способ сделать это?Кроме того, я не хочу разрешать каждый сайт и использовать *, я хочу выбирать, какой сайт я хочу разрешить.