将Azure AD身份验证与asp.net核心身份个人帐户集成在一起

use*_*413 8 authentication asp.net-identity azure-active-directory asp.net-core-2.0

我要解决的场景如下。

1)用户可以使用标准方法针对我的本地数据库进行身份验证-可以正常工作

2)用户可以通过社交媒体平台进行身份验证-工作正常

3)现在,我希望具有Azure AD帐户的某些用户能够拥有本地帐户BUT,并通过其Azure AD进行身份验证。有(1)和(2)的解决方案。但是我找不到能同时支持这三个方面的解决方案。最接近的是多租户SaaS身份验证

对于那些应该通过AD进行身份验证的用户,将在系统中对其进行预配置。(我将在我的本地数据库中拥有他们的TenantID,ClientID等)。因此,根据他们的用户名,如果我可以重定向到相关的登录页面,则我应该能够支持其他广告。

我不确定如何正确连接(或者这种方法是否错误/可行)。

小智 3

当用户在 Azure AD 中进行身份验证时,您的应用程序会收到代表该用户的声明列表。您可以使用这些声明来识别用户并将这些属性“链接”到数据库中的用户 - 例如,您可以使用Name声明来获取用户 ID(通常是用户的电子邮件),并使用NameIdentifier声明来获取用户的唯一标识符(更推荐作为唯一标识符),以及表示用户租户/公司的tenantId - 您可以在数据库中连接这些用户的属性,以便用户可以表示为一个用户,无论他们在何处进行身份验证。

  • 此指导安装基于 ASP.NET 4.x,但可以帮助您了解整体概念 - 包括多租户
  • 此代码示例包含一个 ASP.NET Core,演示如何通过 ASP.NET Core 与 Azure AD 集成。

  • ASP.NET Core 代码示例是 404。 (2认同)