为MVC 5/Web API应用程序组合令牌和cookie auth

Mat*_*rts 8 asp.net authentication asp.net-mvc web asp.net-web-api

我有一个Web应用程序,其中包含:

  • 普通的MVC控制器 - 必须只使用cookie auth
  • 应用程序内部使用的Web API控制器(jquery调用等) - 也应该使用cookie auth
  • 外部使用的Web API控制器(例如,通过电话应用程序) - 必须使用令牌身份验证

现在,我已经设置了(身份)身份验证,以便它具有:

app.UseCookieAuthentication(...)为Web应用程序设置cookie auth; 并 app.UseOAuthBearerTokensapp.UseOAuthBearerAuthentication设置的基于令牌的事情的一面.

是否有可能确保事物的MVC方面不支持令牌,并且Web API方面支持令牌?由于某些Web API内容是内部的,有些是外部的,我想如果API端点支持cookie或令牌,我会很高兴.

谢谢.

Max*_*ler 1

除非您有两个可以在级别上区分的不同端点Startup.cs,否则您需要创建一个自定义 ActionFilter 来处理这种情况。