当资源缺乏访问控制时传递CORS允许原始标头



我已经构建了一个react+express应用程序,它在客户端和服务器端向外部API(spotify API(发出请求。我的服务器和客户端在不同的端口(8888和3000(上提供服务。我的服务器端的请求运行良好,并使用标准的app.use("*", cors())选项来处理CORS,但我的客户端的axios请求造成了CORS问题:

在";externalURL";来自原点'http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在"access control Allow Origin"标头。

我的客户端请求包括Auth令牌和标头:

headers: {
'Authorization': 'Bearer ' + authToken,
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "*"
}

我试着在CORS上阅读了一些类似的帖子和MDN文档,但都没能解决这个问题。

尝试将其包含在服务器端中

app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type,auth-token, Authorization,');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});

最新更新