如何在ASP.NET Web API和MVC中使用相同的Identity?

Yul*_*ian 6 authentication asp.net-mvc token asp.net-web-api angularjs

我有以下场景:

  1. MVC应用程序 - 安装了Identity的ASP.NET MVC应用程序.
  2. SPA App - 位于MVC App内部区域的Angular SPA应用程序.
  3. Web API - SPA App使用的ASP.NET Web API服务.

MVC App和Web API都应该使用相同的用户帐户.所以,现在,我已经在MVC应用程序中安装了Identity.其中将有一个View将加载SPA App,而SPA App将向Web API发出请求.但Web API仅在用户通过身份验证时才有效,因此需要客户端发送的承载令牌.因此,当用户在MVC应用程序中进行身份验证并使用SPA应用程序打开视图时,我应该以某种方式为在MVC应用程序中进行身份验证的同一用户获取令牌,将其放入SPA应用程序中,并从中发送令牌SPA App JavaScript到Web API.

这可能吗?或者有更好的方法吗?

Nar*_*dra 0

您可以执行以下操作:创建一个新的类库项目。将所有身份组件从您的 mvc 项目移至该库。将该项目引用到 web api 项目和 mvc 项目。

我已经完成了几个需要 api 和 mvc 的项目。这个对我有用。试试这个肯定会有效。如果您理解不正确,请告诉我