使用 Azure AD 进行客户身份验证

Using Azure AD for customer authentication

我们正在编写面向客户的本地 Web 应用程序 (.net/mvc),但出于安全原因以及未来可能的原因,我们希望使用 Azure AD 作为身份验证方法。 Web 应用程序将(可能)使用表单身份验证并在控制器中进行身份验证。

我们希望能够让客户使用他们想要的任何电子邮件地址。

这可能吗?当我手动将某人添加到 AzureAD 时,我无法使用 user1@myemail.com 添加某人。我们不想在我们的域中分配用户电子邮件地址。

吉娜

如果您使用支持 ASP.NET MVC 的 Azure Web Apps,那么您可以使用 Azure Active Directory 身份验证机制。这是一篇描述如何设置的博客 post:https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/

完成后,将为您的应用启用身份验证,您可以在门户中配置 AAD 应用。有关详细信息,请参阅此博客 post:http://blogs.technet.com/b/ad/archive/2014/12/18/azure-active-directory-now-with-group-claims-and-application-roles.aspx

要修改权限级别,您应该能够使用角色声明。请参阅此示例以获取指导:https://github.com/Azure-Samples/active-directory-dotnet-webapp-roleclaims

很遗憾,您不能使用任何您想要的电子邮件地址。您必须将电子邮件地址与域相关联,或者您可以使用 Microsoft 帐户(即 @hotmail.com 地址)。

如果这太复杂,您可以只对 ASP.NET 使用表单身份验证,这样您就可以使用任何您想要的电子邮件。这是一个例子:http://www.codeproject.com/Articles/601687/ASP-NET-MVC-Forms-Authentication-Customized

我认为这是不可能的。 Azure AD 和 Forms auth 不能协同工作。您应该选择其中之一。

至于 Azure AD 的自定义电子邮件地址,您可以使用域中的电子邮件地址,也可以将 Microsoft 帐户添加为来宾帐户(例如 user1@outlook.com、user2@live.com、 user3@hotmail.com,等等)。 Azure AD 不能使用任意电子邮件地址。

根据您的要求,Forms auth 听起来不错。

你应该看看 Azure B2C (Business 2 Consumer) https://azure.microsoft.com/en-us/services/active-directory-b2c/

这使您能够为外部用户创建单独的 AD,允许他们使用自己的电子邮件地址注册。

这还将为您的外部用户启用 Multi Factor Authentication 等新功能。它还可以让您为每个用户存储额外的属性(如客户 ID、地址等)