为什么 ASP.NET WebAPI 后端需要 Microsoft.Owin.Cors



我发现它非常混乱,因为我知道三种不同的Cors软件包。阅读以下内容:

如何在 WebAPI 2 中进行 CORS 身份验证?

似乎一个与我具有类似架构的人正在他们的API服务器上使用Microsoft.Owin.Cors包。 我有一个带有身份 2、令牌持有者身份验证的 WebAPI 后端,但我已经能够仅使用 WebAPI 2.1 Cors 让一切正常工作。

有人可以解释添加Microsoft.Owin.Cors的原因是什么吗?请注意,对于我的需求,我只需要通过 WebAPI 控制器进行所有交互。

  • Microsoft.Owin.Cors :使用它为进入您站点的所有跨源请求启用 CORS,因此,如果您使用 Web API 和 SignalR,并且想要为两者启用 CORS,请使用"Microsoft.Owin.Cors"库。

  • Microsoft.AspNet.WebApi.Cors :使用它仅为Web API启用CORS请求。

请注意,如果您尝试同时使用两者并通过两个库启用 CORS,您最终会遇到多个 cors allow 标头的错误,因为两者都会将"访问控制-允许-源"标头添加到您的响应中。

希望有帮助。

最新更新