最佳答案
我有一个单页应用程序-或多或少基于 MVC5 SPA 模板-使用 无记名代币进行身份验证。
该网站还有一对夫妇传统的 MVC 页面,需要加以保护,但使用 Cookie 认证。
在 Startup. Auth 中,我可以启用两种授权类型:
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOAuthBearerTokens(OAuthOptions);
但是,这似乎有一个副作用,无论什么时候从 SPA 发送 AJAX 请求,它都会将头 还有中的持有者标记发送给 cookie。
而我真正想要的行为是,只有持有者令牌用于 WebAPI 调用,而只用于 MVC 调用的 cookie。
我还希望 MVC 调用在未经授权时重定向到登录页面(设置为 CookieAuthenticationOption) ,但显然我不希望在进行 API 调用时发生这种情况。
有没有什么方法可以在一个应用程序中实现这种类型的混合模式身份验证? 也许可以通过路径/路由过滤器?