ASP.NET MVC + Angular应用程序,只有令牌身份验证且没有cookie

时间:2016-10-27 19:46:52

标签: angularjs asp.net-mvc cookies asp.net-identity identityserver3

我有一个由以前的开发人员构建的应用程序,它使用带有cookie和OAuth令牌的OWIN中间件。它是一个ASP.NET MVC应用程序,它仅使用MVC视图/控制器进行登录,并且主视图托管一个完全独立的Angular应用程序。

应用程序完全加载后,承载令牌用于对API进行身份验证,但使用auth cookie加载包含ng应用程序的初始脚手架MVC主视图。

我的问题是要求用户允许用户使用每个浏览器标签的唯一凭据进行登录,因此无法使用 Cookie ,而只需使用基于会话的令牌将其分开。

ASP.NET MVC应用程序基本上可以在没有基于cookie的身份验证的情况下运行吗?

如果我可以删除cookie auth并依赖令牌,那么这将解决我必须仅使用角度代码重写角度外框并重新实现登录路径的问题。

注意:我正在实施IdentityServer3,我发现那里和其他地方的所有样本总是有cookie auth作为混合的一部分,因此我的问题在这里。

1 个答案:

答案 0 :(得分:0)

我认为你想要做的是以下内容:

  1. 在Home控制器上添加[AllowAnonymous]
  2. 在主页加载的应用程序中,使用oidc-client等浏览器端软件包来执行用户登录。这将返回一个id和一个访问令牌。
  3. 在您的REST服务请求中注入访问令牌。
  4. 使用UseIdentityServerBearerTokenAuthentication在WEB API服务器中过滤和验证承载令牌。