我已经为我的Web api启用了cors,并且目前对于所有allowanonymous方法都可以正常运行
// Enable CORS for the Angular App
var cors = new EnableCorsAttribute("http://localhost:4200", "*", "*");
config.EnableCors(cors);
但是当我尝试从我的有角度的应用程序访问下面的URL以获得令牌时,我得到了响应400 Bad Request。
const userData = 'username=' + email + '&password=' + ppassword + '&grant_type=password';
const reqHeader = new HttpHeaders(
{
'Content-Type': 'application/x-www-form-urlencoded',
'No-Auth': 'True',
'Access-Control-Allow-Origin': '*'
});
return this.http.post('http://localhost:59255/token', userData, {headers: reqHeader});
如果这完全是个问题,我该如何解决?
答案 0 :(得分:0)
发布此信息是因为更多的人需要了解CORS有时如何如此棘手。我从WebApiConfig文件中完全删除了EnableCors代码。然后,将以下行添加到我的启动文件中
public void ConfigureAuth(IAppBuilder app)
{
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
这解决了我的问题。 CORS如何集成到应用程序中的顺序肯定存在问题。随时添加更多