gpt4 book ai didi

asp.net-core - Microsoft.AspNetCore 与 Microsoft.IdentityModel (ADAL) 与 Azure AD 中的 .net 核心 API

转载 作者:行者123 更新时间:2023-12-04 14:24:04 24 4
gpt4 key购买 nike

干杯,

我正在寻找有关与 Azure AD 一起使用的身份验证库的说明,特别是关于基于Microsoft.AspNetCoreMicrosoft.IdentityModel 的库之间的差异。 p>

我正在 .net 核心中实现一个 Api,其身份验证将使用 Azure Active Directory (AAD) 进行管理。根据应用程序的需要,我希望将原始 (v1) 端点与 ADAL 一起使用,而不是 v2 端点,因为此时 v2 端点(RBAC 和组)不提供某些功能。所有迹象都表明 ADAL 库是正确的选择,但这与以下内容不同步:

当我在 Visual Studio 2017 (v15.6.3) 中创建一个 .net core (v2) API 项目并选择工作或学校帐户进行身份验证时,我得到以下对话框,表明这选择是为了

applications that authenticate users with Active Directory, Microsoft Azure Active Directory

vs 2017 work and school accounts auth dialog

然而当项目被创建时,ADAL库(也不是 MSAL)不包含在项目中。其实项目中引用的库是

此外,项目模板构建了一个静态扩展类 AzureAdServiceCollectionExtensions 用于处理 Azure AD 的工作和学校身份验证细节,(请注意,如果您选择使用个人帐户进行身份验证,则不同的扩展类已创建,但仍基于 azure)。

但这些不是此包中的 ADAL.net 类

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 是请求和管理 token 所需的库。如果您正在构建一个 API 来保护它的端点并且需要访问 token 才能访问,您可能只需要使用 .NET 核心中间件(模板中包含的内容)。该中间件接受并验证传入的访问 token 。

您需要将 ADAL 或 MSAL 集成到您的应用中的唯一情况是您有兴趣执行 On-behalf-of flow来自您的网络 API。

Here's在 .NET 核心 API 中实现此中间件的代码示例。

关于asp.net-core - Microsoft.AspNetCore 与 Microsoft.IdentityModel (ADAL) 与 Azure AD 中的 .net 核心 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49590882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com