使用Windows Live ID和Azure AD对MVC应用程序进行身份验证

时间:2015-03-24 04:23:12

标签: asp.net-mvc azure azure-active-directory azure-acs

我开发了MVC 5应用程序。现在我想为我的应用程序使用身份验证。 我的最终用户是员工和客户,我希望使用Azure AD和具有Windows Live id的客户对员工进行身份验证。

我曾尝试使用Azure ACS,但它会询问我是否要使用Azure AD或Windows Live ID登录。

我的要求如下。 默认网址为http://localhost:12973。 当员工想要登录时,它将重定向到http://localhost:12973/employees,员工应该重定向到Azure AD登录页面 对于客户http://localhost:12973/customers,应将客户重定向到页面

中的Windows登录

那么我如何在单个Web配置文件中配置Azure AD和ACS?

任何人都可以帮助我如何达到这两个要求。

2 个答案:

答案 0 :(得分:1)

您需要将Azure AD设置为ACS的IdP才能使用,然后将您的MVC应用切换为仅使用ACS。有关如何将Azure AD设置为ACS标识源的详细信息可以是found on Vittorio's blog

为了区分用户类型,您必须检查传入的声明并确定用户是在Azure AD(我假设是员工)还是在其他地方(客户)。这将是您的返回网址'然后根据您的要求将301重定向到正确的目标网页。

将来,Azure AD将是完成所有这些工作(包括外部ID)的正确位置,因此可能值得重新审视您的设计并阅读有关如何使用Azure AD而非ACS的一些最新建议。

答案 1 :(得分:0)

或者,您的应用程序可以信任Auth0,您可以将Microsoft帐户(Windows Live)和Azure AD配置为Auth0中的连接。 following sample显示了如何将Azure AD与不同的社交关系一起使用:

Sample

今天与ACS的最大区别在于,Auth0还可以获取使用Microsoft帐户进行身份验证的用户的电子邮件地址。

免责声明:我为Auth0工作。