Аутентификация в .NET Web API с использованием MVC FormsAuthentication

У нас есть одностраничное приложение, использующее инфраструктуру AngularJS, которое должно взаимодействовать с API, реализованным в .NET Web API в другом домене.

Проблема

API реализован в .NET Web API. Для аутентификации пользователя для доступа к нашему API мы внедрили шаблон одностраничного приложения MVC. Это использует FormsAuthentication для предоставления доступа к API.

Мы использовали Fiddler для отладки. Когда мы посетили контроллер API, который требовал аутентификацию непосредственно в браузере, мы могли подтвердить, что пользователь действительно прошел аутентификацию. Когда мы делали запрос XMLHttpRequest, как и предполагалось, в заголовках не было отправлено куки аутентификации.

Мы хотели бы использовать FormsAuthentication для доступа к .NET Web API с надеждой через XMLHttpRequests.

Одним из предложенных решений было разделение сеансов между .NET Web API и MVC. Как мы можем легко поддерживать состояние между .NET Web API и частью проекта MVC?

Мы знаем, что это не очень приятно, но нам нужно быстрое решение этой проблемы.

PS! FormsAuthentication работает с контроллерами .NET Web API с помощью атрибута [Authorize]. Это только то, что контроллеры не могут быть приняты с XMLHttpRequests.

Снимок экрана fiddler при использовании XMLHttpRequest

Снимок экрана скрипача, когда запрос выполняется прямо в браузере

Снимок экрана контроллера аутентификации для тестирования

Ответы на вопрос(1)

Ваш ответ на вопрос