【问题标题】:Microsoft.Owin.Cors doesn't return `Access-Control-Expose-Headers`Microsoft.Owin.Cors 不返回 `Access-Control-Expose-Headers`
【发布时间】:2016-05-18 06:51:30
【问题描述】:

今天网络上的许多博客帖子都说,通过 WebAPI 2.0 项目和 OWIN,启用 CORS 很容易。

app.UseCors(CorsOptions.AllowAll);

但是,我从未见过从我的 API 返回的 Access-Control-Expose-Headers,无论是响应 GET 还是 OPTIONS 预检。

我已更改我的 UseCors 设置代码,以显式设置要在 CORS 策略中公开的标头名称列表。

我没有 CORS 知识来断言 Microsoft.Owin.Cors 包已损坏,尽管我有预感并且博主只是在测试原始 API。

【问题讨论】:

  • Microsoft.Owin.Cors 用于 webapi 1。WebAPI v2 使用 System.Web.Http.Cors。这并不是说它容易。这太糟糕了。它工作得很好,除非它根本不起作用。使用 oauth 和 cors 需要一些技巧。
  • 嗯,谢谢。 Owin 包裹仍在运输中,应该是固定的或标记为过时的,IMO。

标签: asp.net-web-api cors


【解决方案1】:

根据此处另一个问题的信息,我认为该库在 CORS 规范方面存在问题。

CORS - When to return `Access-Control-Expose-Headers`

我将改用@Thomas 在上面评论中提到的System.Web.Http.Cors 包。

【讨论】:

  • 这真的有效吗?我换用了 Microsoft.AspNet.WebApi.Cors v5.2.7 而不是 Microsoft.Owin.Cors,但在我的响应标头中仍然没有看到 Access-Control-Expose-Headers 来自最初的 GET 预检。我做错了吗?
猜你喜欢
  • 2016-05-18
  • 1970-01-01
  • 2015-09-12
  • 2013-06-12
  • 1970-01-01
  • 2019-02-19
  • 2015-12-29
  • 1970-01-01
相关资源
最近更新 更多