繁体   English   中英

具有 asp.net 核心身份的 Microsoft Identity Pltaform

[英]Microsoft Identity Pltaform with asp.net Core Identity

我正在尝试为 web 应用程序的某些用户使用 Microsoft Identity Platform。 我正在使用这个例子: https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-as.net-core-webapp

问题是示例显示了如何为整个应用程序“全局”打开 Microsoft Identity,并且所有角色都是从平台填充的。 但在我的例子中,用户存储在数据库中,使用 Azure AD 登录应该是可选的。 理想的流程是使用 Microsoft Identity Platform 登录用户,成功登录后获取 email,然后使用现有的 asp.net 核心身份机制对用户进行身份验证,并从数据库中填充用户(使用 UserStore 等)。 但是我找不到方法,如何做,如何在平台登录成功后处理“事件”?

Microsoft Identity Platform 甚至有可能吗?

显然 MSAL 库不能作为 ASP.NET Identity 的外部登录提供程序,所以这是不可能的。 来源: https : //github.com/MicrosoftDocs/azure-docs/issues/53695

如果有人需要通过 ASP.NET 身份使用 Azure AD 登录,可以通过以下几种方式完成:

  1. 使用 Microsoft.AspNetCore.Authentication.AzureAD.UI https://austincooper.dev/2020/02/02/azure-active-directory-authentication-in-asp.net-core-3.1/ Azure AD 作为“外部提供者” ?

  2. 使用 WsFederation https://cmatskas.com/asp-net-core-saml-authentication-with-azure-ad/

  3. 使用某些 3rd 方库或内部 SAML 堆栈实现直接使用 SAML: https : //matthijs.hoekstraonline.net/2020/04/14/authenticate-an-azure-ad-user-with-saml-for-asp-net-核/

答案已经过时了。

随着 1.4.0 的发布,Microsoft Identity 支持将 AzureAD 作为外部登录提供程序。 发行说明

Microsoft Identity Web 现在支持使用 AAD 外部提供程序进行个人身份验证。 要启用此功能,您现在可以在 AddMicrosoftIdentityWebApp 中指定 null cookie 方案。 请参阅问题 #133 和问题 #809。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM