我需要在每个端点上为匹配/api/v1/support/*
路径的POST请求启用CORS。
我正在向/api/v1/support/graphql
发送一个凭证为真的POST请求,但是预检请求(OPTIONS一个)返回401.我不确定我做错了什么。
这是我的配置(请注意,我在下面的示例中更改了虚拟对象的实际域名):
const corsOptions = {
origin: /mydomain\.com$/,
credentials: true,
maxAge: 3600
};
app.options('/api/v1/support/*', cors(corsOptions));
app.post('/api/v1/support/*', cors(corsOptions));
// graphQLRouter is an instance of express.Router()
app.use('/api/v1/support/graphql', [ fowardIP, validateTokenInCookie ], graphQLRouter);
答案 0 :(得分:1)
你可以试试这个。设置访问控制
const app = express();
const corsOptions = {
origin(origin, callback) {
callback(null, true);
},
credentials: true
};
app.use(cors(corsOptions));
var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type,token');
next();
}
app.use(allowCrossDomain);

这可能对您有所帮助