Uwierzytelnianie .NET WebApi

Obecnie mam aplikację internetową MVC, która sprzedaje widżety. Użytkownik loguje się do naszego systemu za pomocą uwierzytelniania formularzy, a następnie może wykonywać różne funkcje w zależności od grupy, do której należy (np. Złożyć zamówienie, wyświetlić zamówienie, anulować zamówienie itp.).

Otrzymaliśmy zadanie napisania Api, które umożliwi stronom trzecim tworzenie i przeglądanie zamówień w naszym systemie. Każda strona trzecia będzie miała własną nazwę użytkownika i będzie ograniczona do pewnych metod api opartych na grupie, do której należą.

Przyglądamy się używaniu Web Api jako mechanizmu zapewniającego api. Chcielibyśmy również móc korzystać z tego api z naszej aplikacji internetowej MVC. Niestety, mamy problemy z uwierzytelnianiem dla Web Api. Korzystając z DelegatingHandler, zaimplementowaliśmy podstawowe uwierzytelnianie przez SSL dla naszej WebApi. To działa świetnie dla naszych stron trzecich. Jednak podczas próby wykorzystania Api z naszej aplikacji MVC otrzymujemy 401 błędów odmowy dostępu, ponieważ użytkownik został uwierzytelniony w aplikacji MVC przy użyciu uwierzytelniania formularzy, ale nie mamy możliwości przekazania tych danych do Web Api. Czy istnieje sposób na przekazanie danych uwierzytelniających formularzy z naszej aplikacji MVC do naszej aplikacji internetowej api?

IIS Setup WebSite o nazwie WidgetStore z dwiema aplikacjami internetowymi

WidgetStore Uwierzytelnianie formularzy UIWidgetStore Api - wykorzystuje podstawowe uwierzytelnianie

questionAnswers(1)

yourAnswerToTheQuestion