我写了一些代码来处理CORS
我的Web Api
(.Net Core
)。这些代码可以在我的本地和测试服务器(Azure 应用服务)上完美运行,但不能在生产环境(Azure 应用服务)上运行。它给出了错误-
XMLHttpRequest 无法加载http://myapiproduction.co/token。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://myuidashboard.co ”。
我在appsettings.Production.json
. *
我从CORS
Azure 应用服务(生产环境)部分删除了所有值 ( )。
当我们从应用服务的 CORS 部分删除所有内容时,我们的代码逻辑应该可以工作,因为一次只有一个中间件可以工作,要么是应用服务的 CORS 中间件,要么是我们的 Web Api 代码逻辑。
Web API ( Startup.cs
)-
var allowedOriginsArr = Configuration["AppSettings:AllowedOrigins"].Split(','); //Example- "http://myuidashboard.co"
services.AddCors(options =>
{
options.AddPolicy("AllowAllCorsPolicy",
builder => builder.WithOrigins(allowedOriginsArr)
.WithMethods("GET", "POST", "PATCH", "PUT", "DELETE", "OPTIONS")
.AllowAnyHeader()
.WithExposedHeaders("X-Auth-Token")
.AllowCredentials());
});
所以,我的问题是 - 我还需要做任何其他设置来禁用 Azure 应用服务的 CORS 中间件吗?我想CORS
完全通过代码(Api 逻辑)来控制。