我写了一些代码来处理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代码逻辑。
网络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());
});
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是-我需要做其他设置来禁用Azure应用服务的CORS中间件吗?我想CORS
完全通过代码(Api逻辑)进行控制。