即使启用了CORS,WebApi也会始终抛出403错误

时间:2017-12-17 22:33:56

标签: c# asp.net asp.net-web-api asp.net-core asp.net-web-api2

我在我的后端使用.NET Core 2.0开发了一个WebApi。当我测试我的生产版本时,我无法从我的控制器调用一个方法,我已经激活了cors以允许所有内容仅用于测试目的。当我构建我的WebApi for Development环境时,它可以很好地工作。

这就是我在启动课上的内容

public void ConfigureProduction(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
        });

        //var options = new RewriteOptions()
        //    .AddRedirectToHttps();

        //app.UseRewriter(options);

        app.UseDeveloperExceptionPage();

        app.UseCors(builder => {
            builder.AllowAnyOrigin();
            builder.AllowAnyMethod();
            builder.AllowAnyHeader();
        });

        app.UseMvc();
    }

1 个答案:

答案 0 :(得分:1)

此外,您需要允许凭据:

  • API

    app.UseCors(builder =>
    {
        builder.AllowAnyOrigin();
        builder.AllowAnyMethod();
        builder.AllowAnyHeader();
        builder.AllowCredentials(); // <-- add this line
    });
    
  • Client

    let requestOptions = new RequestOptions({withCredentials: true});