У меня есть веб-приложение MVC 5 и вы можете войти на страницу Login.cshtml и получить файл cookie, и логин работает нормально. Но я хотел бы сделать логин с веб-API, а затем (возможно) установить файл cookie, чтобы я зарегистрировался на своих страницах MVC... (или войдите в систему с помощью входа в MVC и затем подключился к веб-API), однако web api возвращает токен-носитель, а не токен cookie... так что это не работает. Есть ли способ объединить использование аутентификации как для моих страниц MVC, так и для моих страниц веб-API?
UPDATE:
Это не проблема кода, а скорее концептуальная проблема.
Обычные веб-страницы MVC исследуют файл cookie с именем, по умолчанию, ".AspNet.ApplicationCookie", чтобы определить идентификатор запросов. Этот файл cookie генерируется вызовом ApplicationSignInManager.PasswordSignInAsync.
С другой стороны, вызовы WebAPI проверяют заголовки запросов для элемента с именем Authorization... и используют это значение для определения идентификатора запроса. Это возвращается из вызова WebAPI в "/Token".Это очень разные значения. Мой веб-сайт должен использовать как страницы MVC, так и вызовы WebAPI (для динамического обновления этих страниц)... и оба должны быть аутентифицированы для выполнения своих задач.
Единственный метод, о котором я могу думать, - это фактически дважды аутентифицировать... один раз с вызовом WebAPI и снова с сообщением "Вход". (см. мой ответ ниже).
Это кажется очень взломанным... но я не понимаю код авторизации, чтобы узнать, есть ли более правильный способ выполнить это.