ScrenarioGdzie przechowywać okaziciela token w MVC z Web API
Mam ASP.NET Web API, który korzysta z OAuth Hasło przepływu w celu okaziciela tokeny aby uzyskać dostęp do jego zasobów.
Jestem teraz w trakcie tworzenia aplikacji MVC, która będzie musiała korzystać z tego interfejsu API.
Planuje się, że kontrolery MVC będą nawiązywać połączenia z interfejsem API w imieniu przeglądarki klienta.
Żądania ajax z przeglądarki trafią kontrolery MVC, a następnie wywołania interfejsu API. Wyniki są następnie przekazywane do klienta jako JSON i obsługiwane w skryptach Java.
Klient nigdy nie powinien komunikować się bezpośrednio z interfejsem API.
Uzyskanie uwierzytelnienia.
Muszę w porządku najlepiej obsłużyć token na okaziciela po jego otrzymaniu w aplikacji MVC poprzez udane połączenie z punktem końcowym tokenu aplikacji webowej.
Potrzebuję użyć tego znacznika okaziciela w kolejnych połączeniach do interfejsu API.
Mój plan jest przechowywanie go w System.Web.HttpContext.Current.Session["BearerToken"]
mogę następnie utworzyć niestandardowy AuthorizationAttribute
że sprawdzi, czy BearerToken jest obecny w bieżącym HttpContext, jeśli jej nie ma, klient będzie musiał ponownie token to enpoint.
Czy wydaje się to wykonalne?
Proszę opinii ludzi o tym, ponieważ nie jestem przekonany, że to najlepsze rozwiązanie dla mojego projektu.
okaziciela tokenu byłoby pójść w nagłówkach żądań. Wierzę, że uzyskujesz dostęp do Web API za pośrednictwem wywołania AJAX. Musisz więc odpowiednio utworzyć żądanie AJAX za pomocą tokena otrzymanego z Web API. Zrobiłem podobną rzecz tutaj, ale bez AJAX- http://stackoverflow.com/questions/38661090/token-based-authentication-in-web-api-w-out-any-user-interface/38670221#38670221 –
Tworzę wywołanie api wep za pomocą obiektu HttpClient w aplikacji MVC – Derek