2016-02-08 3 views
1

Многие публикации в блогах в Интернете сегодня говорят, что с проектом WebAPI 2.0 и OWIN включение CORS легко.Microsoft.Owin.Cors не возвращает `Access-Control-Expose-Headers`

app.UseCors(CorsOptions.AllowAll); 

Однако, я никогда не видел Access-Control-Expose-Headers вернулся из API, либо в ответ на GET или OPTIONS предполетной.

Я изменил свой установочный код UseCors, чтобы явно указать список имен заголовков для раскрытия в политике CORS.

У меня нет знания CORS, чтобы утверждать, что пакет Microsoft.Owin.Cors сломан, хотя у меня есть догадка, что это так, и что блоггер только тестирует примитивные API.

+1

Microsoft.Owin.Cors был для webapi 1. WebAPI v2 использует System.Web.Http.Cors. Это не значит, что это легко. Это ужасно. Он отлично работает, если только он не работает вообще. Есть хаки, необходимые для работы с oauth и cors. – Thomas

+0

Хммм, спасибо. Пакет Owin поставляется по-прежнему и должен быть установлен или обозначен как устаревший, IMO. –

ответ

0

Вооружившись информацией из другого вопроса здесь, я думаю, что библиотека нарушена в отношении спецификации CORS.

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

Я переключиться на использование System.Web.Http.Cors пакета, который @Thomas упоминает в своем комментарии выше.