如何在API控制器上正确配置CORS

时间:2019-04-24 16:33:01

标签: asp.net-core cors csrf api-design antiforgerytoken

我正在将API部署到Web服务器,这是我们公司首次公开公开API,我想确保我正确配置安全策略。我们的母公司网络安全团队希望通过内部审核委员会将所有内容投入生产后,知道我们已采取适当的措施来应对CSRF攻击。

我们的API由IdentityServer4保护,我们的客户端在API调用中发送带有Bearer令牌的Authorization标头,并且可能来自其他几个来源。 API控制器使用[AutoValidateAntiForgeryToken]属性。我想允许所有标头,凭据,仅GET请求,并且仅允许来自我们的特定来源。

我配置的CORS策略如下:

services.AddCors(config =>
{
    config.AddPolicy("CorsPolicy", policy => policy
        .WithOrigins("https://apps.company.com", "https://localhost", "https://intranet-domain")
        .WithMethods("GET")
        .AllowAnyHeader()
        .AllowCredentials());
});

这是否将允许在Intranet域上运行的Web应用程序,所有本地主机端口和暴露服务器上的公共应用程序进行API调用?另外,如何处理进行API调用的本机应用程序?在这种情况下,HttpClient还会发送原始标头吗?如果否,服务器是否会拒绝该请求?

谢谢

0 个答案:

没有答案