【发布时间】:2014-01-24 01:54:32
【问题描述】:
我有一个单页应用程序 - 或多或少基于 MVC5 SPA 模板 - 使用 承载令牌 进行身份验证。
该网站还有几个需要保护的传统 MVC 页面,但使用 cookie 身份验证。
在 Startup.Auth 中,我可以启用两种类型的授权:
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOAuthBearerTokens(OAuthOptions);
但是,这似乎有一个副作用,即每当从 SPA 发送 AJAX 请求时,它都会发送标头中的不记名令牌和 cookie。
而我真正想要的行为是仅不记名令牌用于 WebAPI 调用,而仅 cookie 用于 MVC 调用。
我还希望 MVC 调用在未授权时重定向到登录页面(设置为 CookieAuthenticationOption),但显然我不希望在进行 API 调用时发生这种情况。
有没有办法在一个应用程序中进行这种类型的混合模式身份验证?也许通过路径/路由过滤器?
【问题讨论】:
标签: asp.net-mvc asp.net-web-api oauth-2.0 owin