如何在ASP.NET Web API Core中实现身份验证和授权?

时间:2016-09-08 10:22:59

标签: authentication authorization asp.net-core-mvc asp.net-core-webapi

我们正在构建ASP.NET MVC核心Web应用程序并通过ASP.NET Core Web API访问数据。

我们必须为MVC Core和Web API Core都提供身份验证和授权。

如果用户在MVC核心Web应用程序中进行了身份验证,那么在访问Web API核心上的数据时,不应再次进行身份验证。如果用户直接访问Web API,则不应允许并请求身份验证。

我们还希望通过Google提供身份验证。

1 个答案:

答案 0 :(得分:0)

对于WebAPI,我建议基于令牌的身份验证,Google支持OAuth。 我建议你看一下以下链接:

https://stormpath.com/blog/token-authentication-asp-net-core

社区主导的一些工作是为ASP.NET Core构建丰富的令牌身份验证功能:

AspNet.Security.OpenIdConnect.Server - 类似于ASP.NET 4.x的OAuth授权服务器中间件。

OpenIddict - 将OpenIdConnect.Server包装成一个易于使用的程序包,插入ASP.NET身份。

IdentityServer4 - Thinktecture IdentityServer3到.NET Core的端口。

所有这些都有示例MVC和API应用程序。享受。