Angular 添加授权标头时出现CORS错误

Angular 添加授权标头时出现CORS错误,angular,asp.net-core,cors,authorization-header,Angular,Asp.net Core,Cors,Authorization Header,我正在构建一个调用.Net核心webapi的Angular应用程序。我已经能够设置它,以便能够成功地使用CORS回电并获得响应。但是,当我将授权头添加到Angular拦截器时,它会抛出以下错误 错误 访问位于“”的XMLHttpRequesthttp://localhost:57120/api/values“起源”http://localhost:4200'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'标头

我正在构建一个调用.Net核心webapi的Angular应用程序。我已经能够设置它,以便能够成功地使用CORS回电并获得响应。但是,当我将授权头添加到Angular拦截器时,它会抛出以下错误

错误 访问位于“”的XMLHttpRequesthttp://localhost:57120/api/values“起源”http://localhost:4200'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'标头

C#启动-配置方法

app.UseCors(
            options =>
            {
                options.WithOrigins("http://localhost:4200");
                options.WithHeaders("Access-Control-Allow-Credentials: true"); 
                options.AllowCredentials();
            }
        );
角形http拦截器

const token =  localStorage.getItem('access-token');
    
const clone = request.clone({
      headers: request.headers.set("Authorization", "Bearer " + token),
      withCredentials: true,
      
});

return next.handle(clone);

您的启动配置错误。尝试使用命名cors策略并将app.UserCors更改为其他语法:

  app.UseCors("CorsPolicy") 

services.AddCors(opt =>  opt.AddPolicy("CorsPolicy", c =>
            { 
                c.AllowAnyOrigin()
                   .AllowAnyHeader()
                    .AllowCredentials()
                    .AllowAnyMethod();
            }));

如果有效,则可以用options.WithOrigins()替换c.AllowAnyOrigin()http://localhost:4200");

您能否验证邮件头是否已在邮递员中返回?请注意,如果您的代码在头被sat之前中断,那么您将得到cors错误而不是http错误。我从未使用过Postman。我可以试着弄明白。所以这里有一个杀手,我的工作是阻止邮递员。但据我所知,似乎没有抛出任何错误。它可以在没有添加授权标头的行的情况下工作,在我添加授权标头时不会工作。中间件顺序的合理性检查:您的CORS中间件在您的授权中间件之前(应该是)吗?我仍然使用app.UseCors()方法,但包括与您相同的选项。我给你答案是因为它有效。再次感谢你。