У меня есть одностраничное приложение - более или менее на основе шаблона SPA MVC5 - с помощью токенов-носителей для аутентификации.
На сайте также есть несколько обычных страниц MVC, которые необходимо защитить, но используя аутентификацию cookie.
В Startup.Auth я могу включить оба типа авторизации:
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOAuthBearerTokens(OAuthOptions);
Однако это похоже на побочный эффект в том, что всякий раз, когда запрос AJAX отправляется из SPA, он отправляет токен-носитель в заголовок и cookie.
В то время как поведение, которое я действительно хочу, состоит в том, что только токен-носитель используется для вызовов WebAPI и только cookie для вызовов MVC.
Мне также нравятся вызовы MVC для перенаправления на страницу входа в систему, если они не авторизованы (установлены как CookieAuthenticationOption), но, очевидно, я не хочу, чтобы это происходило при вызове API.
Есть ли какой-нибудь способ аутентификации смешанного режима в одном приложении? Возможно, через фильтр пути/маршрута?