ASP.NET Core Web API模板中没有单独的用户帐户auth选项

时间:2016-12-09 13:48:35

标签: asp.net asp.net-web-api asp.net-core asp.net-identity asp.net-core-webapi

对于为什么最新的ASP.NET Core Web API模板中没有单独的用户帐户身份验证选项,我感到有点困惑。

是否仍然可以按照MVC模板的方式实现单个用户帐户,还是没有意义?

假设我正在创建一个独立的Web API,它将拥有访问具有AspNet Identity表的数据库的所有业务逻辑和数据层。我打算用MVC应用程序调用这个API。

我知道这样做的一种方法是创建一个带有个人用户帐户身份验证的asp.net MVC应用程序,并使用controllers / api文件夹在MVC应用程序中构建API。但是,我不希望这样做,因为我希望API是它自己的独立项目,可以托管在完全不同的服务器上,并由多个应用程序访问,而不仅仅是MVC应用程序。

由于没有模板,有人可以引导我在正确的方向上了解身份验证通常如何工作吗?

2 个答案:

答案 0 :(得分:10)

.NET Core 2.0 Preview 1中提供了ASP.NET Core Web API的单个用户帐户身份验证选项。

不幸的是,VS 2017版本中没有.NET Core 2.0 Preview 1。

但您可以安装Visual Studio 2017 Preview(您可以将其与VS 2017稳定版并排使用):enter image description here

答案 1 :(得分:4)

我认为您可以使用IdentityServer4 ,它允许使用OpenID Connect和OAuth2等协议实现ASP .NET Core Web API的单点登录和访问控制。它提供与ASP.NET核心身份和实体框架核心的集成。

您需要安装以下nuget包:

Install-Package IdentityServer4

并将IdentityServer中间件添加到HTTP管道:

app.UseIdentityServer();

您可以找到几个快速入门示例here或关注this文章。