为了保护 WebApi,如何在 UseWindowsAzureActiveDirectoryBearerAuthentication 与 UseJwtBearerAuthentication 与 UseJwtBearerAuthentication 之间进行选择

Bea*_*ans 4 asp.net-web-api azure-active-directory

有许多代码示例展示了如何通过在 Startup.cs 中注册身份验证来保护 WebApi,它们都使用 UseWindowsAzureActiveDirectoryBearerAuthentication、UseJwtBearerAuthentication、UseOpenIdConnectAuthentication 或 UseOAuth2Authentication 中的任意一种 Owin 中间件。但我找不到任何文档解释如何选择其中的哪一个。他们似乎都基于 Bearer 令牌设置 ClaimsPrincipal。

是否有时某个选项比其他选项更合适,或者这是一种随机选择?

Jea*_*eur 6

Nan Yu是对的,但是除了.NET/.NET core和V1.0 vs V2.0之外,还有另一个维度:是保护Web API还是Web应用程序:

  • UseWindowsAzureActiveDirectoryBearerAuthentication用于ASP.NET Web API,使用 Azure AD V1 端点(需要 V1 元数据)
  • UseJwtBearerAuthentication用于ASP.NET Core Web API(确实是 V1 端点)
  • UseOpenIdConnectAuthentication用于ASP.NET Web 应用程序
  • UseOAuth2Authentication与 V2 端点对话时可以在 full.NET 中使用。