0

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

承载令牌用于验证到API一旦应用程序是完全加载,但一个auth cookie被用来加载包围纳克应用初始支架MVC主视图。

我的问题是有一个业务要求,允许用户使用每个浏览器选项卡的唯一凭据登录,因此Cookie不能使用但只是使用基于会话的令牌来保持它们分开。

ASP.NET MVC应用程序能否在不使用基于cookie的身份验证的情况下从根本上运行?

如果我可以删除Cookie身份验证,并只依赖令牌,这将解决我的问题,必须在角码和重新实现登录路径中重写角外框。

的说明:我在执行IdentityServer3,我发现那里所有样品和其他地方总是有cookie认证作为这里的组合的一部分,因此我的问题。

+0

摆脱MVC部分,使之成为JS唯一的应用程序。 – leastprivilege

+0

感谢多米尼克 – dodegaard

回答

0

我想你想在这里做的是以下几点:

  1. 主控制器
  2. 上添加[使用AllowAnonymous在由主页加载应用程序,使用浏览器侧包像oidc-client一样执行用户登录。这将返回一个id和一个访问令牌。
  3. 在您的REST服务请求中注入访问令牌。
  4. 使用UseIdentityServerBearerTokenAuthentication过滤并在Web API服务器进行身份验证令牌承载。