400 Bad Request 响应调用 web api localhost/token url 生成令牌

400 Bad Request response to calling web api localhost/token url for generating token

我已经为我的网站启用了 cors api,它现在对所有允许匿名的方法都可以正常工作

        // Enable CORS for the Angular App
        var cors = new EnableCorsAttribute("http://localhost:4200", "*", "*");
        config.EnableCors(cors);        

但是当我尝试从我的 angular 应用程序访问以下 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});

如果这是一个问题,我该如何解决?

发帖是因为更多人需要了解 CORS 有时为何如此棘手。我从我的 WebApiConfig 文件中完全删除了 EnableCors 代码。然后我在我的启动文件中添加了以下行

 public void ConfigureAuth(IAppBuilder app)
    {
        app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

这解决了我的问题。在应用程序中集成 cors 的顺序肯定存在问题。欢迎补充