Node.js 如何使用“配置快速路线上的CORS”;cors";图书馆

Node.js 如何使用“配置快速路线上的CORS”;cors";图书馆,node.js,express,cors,Node.js,Express,Cors,我需要在每个端点上为匹配/api/v1/support/*路径的POST请求启用CORS 我正在使用凭证true向/api/v1/support/graphql发出POST请求,但飞行前请求(选项一)返回401。我不确定我做错了什么 这是我的配置(请注意,在下面的示例中,我已更改了虚拟对象的实际域): 你能试试这个吗。同时设置访问控制 const-app=express(); 常数常数={ 原点(原点,回调){ 回调(null,true); }, 凭据:正确 }; 应用程序使用(cors(co

我需要在每个端点上为匹配
/api/v1/support/*
路径的POST请求启用CORS

我正在使用凭证true向
/api/v1/support/graphql
发出POST请求,但飞行前请求(选项一)返回401。我不确定我做错了什么

这是我的配置(请注意,在下面的示例中,我已更改了虚拟对象的实际域):


你能试试这个吗。同时设置访问控制

const-app=express();
常数常数={
原点(原点,回调){
回调(null,true);
},
凭据:正确
};
应用程序使用(cors(corsOptions));
var allowCrossDomain=函数(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();
}

应用程序使用(allowCrossDomain)是request.OPTIONS根据规范ie Access Control Allow Methods’、“…”和“OPTIONS”合法,因此除了浏览器发出“飞行前”请求外,您还可能需要调整服务器以符合规范。。请参阅访问控制标题下的“允许来源”、“允许方法”、“允许标题”浏览器不在CORS飞行前选项请求中发送凭据。显然,在您的应用程序代码中的某个地方,您有
/api/v1/support/graphql
路由所需的身份验证,这对于POST请求很好,因为如果您的前端代码将凭证作为POST的一部分发送,这将按预期工作。但是对于选项请求来说这并不好。这需要在不发送任何凭据的情况下工作ー 没有需要身份验证的服务器。谢谢,但它不工作。我的配置有什么问题?
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);