我有一个单页应用程序-或多或少基于MVC5 SPA模板-使用承载令牌进行身份验证。
该站点还具有几个需要保护的常规MVC页面,但使用cookie身份验证。
在Startup.Auth中,我可以启用两种授权类型:
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOAuthBearerTokens(OAuthOptions);
但是,这似乎有一个副作用,就是每当从SPA发送AJAX请求时,它都会在标头和cookie中发送承载令牌。
而我真正想要的行为是仅将承载令牌用于WebAPI调用,仅将cookie用于MVC调用。
我还希望在未经授权时将MVC调用重定向到登录页面(设置为CookieAuthenticationOption),但是显然,我不希望在进行API调用时发生这种情况。
是否可以通过某种方法在一个应用程序中进行这种混合模式身份验证?也许通过路径/路由过滤器?