将 Authorization/Authentication 添加到使用 Web API 的 MVC 应用程序的推荐方法是什么

What is the recomended method for adding Authorization/Authentication to an MVC application that uses Web API

在大多数情况下,我使用 AD 通过 IIS 锁定应用程序。在这种情况下,我需要创建一个 MVC 应用程序,它将具有一些 Web API 控制器和 authentication/and 授权(角色)。我一直在尝试使用我在其他几篇文章中发现的堆栈溢出建议。

https://identityserver.github.io/Documentation/docs/overview/mvcGettingStarted.html

我在 Stack Overflow 中看到的大多数答案都参考了上述 link

例如)。 Implementing Authentication and role based authorization in ASP.NET MVC web API service and MVC client architecture

对于有将 Authentication/Authorization 添加到组合 Web Api/MVC 项目经验的社区,我的问题是上面列出的身份服务器方法是否是这种情况的最佳解决方案,如果我还应该查看其他资源吗?

根据您的要求(验证使用 MVC 站点,然后被授权使用 Web API),您将需要一个 OpenID Connect 提供程序,例如 Identity Server 3(又名安全令牌服务 (STS) )、授权服务器等)。基本上是 MVC 站点和 Web 都信任的东西 API.

此处的基本流程是您的用户将在您的 MVC 站点上使用 OpenID Connect 进行身份验证,之后他们可以获得访问令牌以授权使用 OAuth 访问 Web API。

提到的教程是最好的开始方式。在接近尾声时,它将带您了解如何代表用户访问 API。

ASP.NET 身份是 user/identity 商店。它不是为您的应用程序添加身份验证或授权。