为公共用户使用Windows Azure Active Directory

时间:2013-04-17 11:45:08

标签: azure azure-active-directory

我知道WAAD适用于内部组织帐户。我理解ADFS背后的概念和其他“云中的AD”相关主题。但实际上有什么东西可以阻止WAAD用于公共账户吗?

我想使用ASP.Net MVC构建一个面向公众的网站。我将使用WIF来实现声明身份验证,并计划将ACS用作声明联合提供程序。我想允许最终用户使用社交网络帐户登录(开箱即用的ACS)。但我也想让用户为我的网站注册自己的用户名和密码。我可以在这部分使用WAAD吗?

当然,我可以建立自己的自定义STS。或者我可以将Thinktecture IdentityServer用于此目的。但坚持使用WAAD有一些明显的优势:

  • 简单(将WAAD设置为STS到ACS只需几次点击)
  • Azure SLA保证的性能,安全性和可靠性

这种方法有什么不利之处吗?

2 个答案:

答案 0 :(得分:12)

您当然可以使用WAAD创建用户帐户。当然,您也必须强制用户使用电子邮件样式登录。

然而,对于ThinkTecture的Identity Server,WAAD有一个(我认为是BIG)的劣势:WAAD 没有用户注册/密码管理/密码重置流程。


更新(29.07.2014)

今天WAAD提供自助服务密码重置作为Premium Features的一部分。但是仍然没有自助用户注册。坦率地说,我不希望看到自助服务用户注册,因为WAAD的目标是企业,而不是您的具体情况。


要在WAAD中实现上述流程,您必须从头开发自己的MVC应用程序,它将Graph API用于所有提到的场景。

另一方面,您拥有Identity Server,它具有数千次下载,由 基于声明的Guru基于身份验证和安全性开发。身份服务器具有非常丰富且易于使用的可扩展结构。虽然它也没有提供开箱即用的用户注册和密码重置流程,但它已经是一个具有非常丰富的可扩展性点的MVC 4应用程序。

设置用于在Azure中运行的标识服务器也非常简单。在Azure ACS中将Identity Server设置为身份提供程序,只需点击几次管理门户即可。

您说WAAD是SLA支持,高可用性等。但是,如果至少使用2个Web角色实例,则Cloud Service上的Identity Server部署也将受到SLA支持。

如果我必须选择是否扩展Identity Server以支持用户注册等,或者从头开始创建全新的应用程序,使用WAAD GRaph API来实现该功能 - 我会使用Identity Server。

答案 1 :(得分:3)

截至今年9月,Azure B2C预览就在那里。这应该满足自助服务用户注册和不同身份提供商(Facebook,谷歌,微软......)的场景。这些都是从AzureAD服务的。 Azure AD b2c

还有一个完整的MVC样本 Azure AD b2c MVC Sample