Проверка подлинности .NET WebApi
В настоящее время у меня есть веб-приложение MVC, которое продает виджеты. Пользователь входит в нашу систему, используя проверку подлинности с помощью форм, а затем может выполнять различные функции в зависимости от группы, к которой он принадлежит (например, разместить заказ, просмотреть заказ, отменить заказ и т. Д.).
Нам поручено написать API, который даст третьим сторонам возможность создавать и просматривать заказы в нашей системе. Каждое третье лицо будет иметь собственное имя пользователя и будет ограничено определенными методами API, основанными на группе, к которой они принадлежат.
Мы смотрим на использование Web Api в качестве механизма для предоставления API. Мы также хотели бы иметь возможность использовать этот API-интерфейс из нашего веб-приложения MVC. К сожалению, мы сталкиваемся с проблемами аутентификации для Web Api. Используя DelegatingHandler, мы реализовали базовую аутентификацию через SSL для нашего WebApi. Это прекрасно работает для наших третьих лиц. Однако при попытке использовать Api из нашего приложения MVC мы получаем ошибки 401, в которых отказано в доступе, поскольку пользователь прошел проверку подлинности в приложении MVC с использованием проверки подлинности с помощью форм, но у нас нет возможности передать эти учетные данные в Web Api. Есть ли способ передать учетные данные проверки подлинности форм из нашего приложения MVC в наше приложение веб-API?
Настройка IIS Сайт WidgetStore с двумя веб-приложениями
WidgetStore\UI -uses forms authentication WidgetStore\Api - uses basic authentication