Microsoft.AspNetCore 与 Microsoft.IdentityModel (ADAL) 在 Azure AD 中使用 .net 核心 API
Microsoft.AspNetCore vs Microsoft.IdentityModel (ADAL) with .net core API in Azure AD
干杯,
我正在寻找有关用于 Azure AD 的身份验证库的说明,特别是关于 Microsoft.AspNetCore 和 [=69 之间的区别=] 个基于库。
我正在 .net 核心中实施 Api,其身份验证将使用 Azure Active Directory (AAD) 进行管理。根据应用程序的需要,我希望将原始 (v1) 端点与 ADAL 一起使用,而不是 v2 端点,因为此时 v2 端点(RBAC 和组)不提供某些功能。所有迹象表明 ADAL 库是正确的选择,但这与以下内容不同步:
当我在 Visual Studio 2017 (v15.6.3) 中创建一个 .net 核心 (v2) API 项目并且我 select 工作或学校帐户 进行身份验证,我得到以下对话框,表明此选择适用于
applications that authenticate users with Active Directory, Microsoft
Azure Active Directory
然而,在创建项目时,ADAL libraries, (nor MSAL 就此而言) 未包含在项目中。其实项目中引用的库是
此外,项目模板构建了一个静态扩展 class AzureAdServiceCollectionExtensions 用于处理 Azure AD 的工作和学校身份验证细节,(请注意,如果您选择使用个人帐户进行身份验证,创建了一个不同的扩展 class,但仍然基于 azure。
但这些 不是 ADAL.net class 包中的
Microsoft.IdentityModel.Clients.ActiveDirectory
AspNetCore 包由 Asp.Net 团队发布,而 ADAL 包由 AzureAD 团队发布。
我终于得到了一些问题:
为什么 ADAL(甚至 MSAL)库不是与 Azure AD 集成的模板的一部分?
模板是否指明了与 Azure AD 集成的首选方法,并暗示使用 AspNetCore 库?
到目前为止我阅读的与 Azure AD 集成的所有文档都涉及 ADAL 或 MSAL,我是否遗漏了 AspNetCore 库的某些内容?
请注意,我确实搜索了使用 ADAL 或 MSAL 的项目模板,但没有成功。
提前致谢。
ADAL 和 MSAL 是请求和管理令牌所需的库。如果您正在构建一个 API 来保护它的端点并且需要访问令牌才能访问,您可能只需要使用 .NET 核心中间件(模板中包含的)。此中间件接受并验证传入的访问令牌。
您需要将 ADAL 或 MSAL 集成到您的应用中的唯一情况是您有兴趣从您的 Web API.
执行 On-behalf-of flow
Here's 在 .NET 核心中实现此中间件的代码示例 API。
干杯,
我正在寻找有关用于 Azure AD 的身份验证库的说明,特别是关于 Microsoft.AspNetCore 和 [=69 之间的区别=] 个基于库。
我正在 .net 核心中实施 Api,其身份验证将使用 Azure Active Directory (AAD) 进行管理。根据应用程序的需要,我希望将原始 (v1) 端点与 ADAL 一起使用,而不是 v2 端点,因为此时 v2 端点(RBAC 和组)不提供某些功能。所有迹象表明 ADAL 库是正确的选择,但这与以下内容不同步:
当我在 Visual Studio 2017 (v15.6.3) 中创建一个 .net 核心 (v2) API 项目并且我 select 工作或学校帐户 进行身份验证,我得到以下对话框,表明此选择适用于
applications that authenticate users with Active Directory, Microsoft Azure Active Directory
然而,在创建项目时,ADAL libraries, (nor MSAL 就此而言) 未包含在项目中。其实项目中引用的库是
此外,项目模板构建了一个静态扩展 class AzureAdServiceCollectionExtensions 用于处理 Azure AD 的工作和学校身份验证细节,(请注意,如果您选择使用个人帐户进行身份验证,创建了一个不同的扩展 class,但仍然基于 azure。
但这些 不是 ADAL.net class 包中的
Microsoft.IdentityModel.Clients.ActiveDirectory
AspNetCore 包由 Asp.Net 团队发布,而 ADAL 包由 AzureAD 团队发布。
我终于得到了一些问题:
为什么 ADAL(甚至 MSAL)库不是与 Azure AD 集成的模板的一部分?
模板是否指明了与 Azure AD 集成的首选方法,并暗示使用 AspNetCore 库?
到目前为止我阅读的与 Azure AD 集成的所有文档都涉及 ADAL 或 MSAL,我是否遗漏了 AspNetCore 库的某些内容?
请注意,我确实搜索了使用 ADAL 或 MSAL 的项目模板,但没有成功。
提前致谢。
ADAL 和 MSAL 是请求和管理令牌所需的库。如果您正在构建一个 API 来保护它的端点并且需要访问令牌才能访问,您可能只需要使用 .NET 核心中间件(模板中包含的)。此中间件接受并验证传入的访问令牌。
您需要将 ADAL 或 MSAL 集成到您的应用中的唯一情况是您有兴趣从您的 Web API.
执行 On-behalf-of flowHere's 在 .NET 核心中实现此中间件的代码示例 API。