Windows Azure ACS是否支持用户名/密码验证?

问题描述:

我正在寻找Windows Azure ACS作为在我的应用程序中实现我自己的用户名/密码方案的替代方案。这将是一个公开的网站。Windows Azure ACS是否支持用户名/密码验证?

除了使用SSO提供程序(例如Google或Facebook)之外,我可以使用Windows Azure ACS支持用户名/密码身份验证吗?

我看到它支持Active Directory作为提供者。我不确定这是否正确,因为我一直认为Active Directory是“企业”提供商。

Windows Azure ACS不支持以您需要的形式进行用户名/密码验证。 Shahin详细描述了它。

你的选择真的是:

虽然经典的本地部署与域控制器选择Active Directory是确实挺enterprisy, WAAD在云中不完全相同。我实际上会建议你给一个镜头并尝试一下。使用WAAD Graph API,您可以完全自动化WAAD中的用户管理。

你的第二个选择是基于IdSVR。这是全功能的Identity Server和安全令牌服务。它是针对安全领域的最佳实践而开发的,并且非常容易扩展!虽然它不提供对用户管理(用户注册,密码重置等)的开箱即用支持,但它是ASP.NET MVC 4应用程序。所以你可以很容易地自己添加这个功能。实际上有an open enhancement planned for User Management API and UI

WAAD和IdSVR都可以很好地与ACS集成,因此您可以为自己的登录提供对社交身份的无缝支持。

仍在Beta/Preview中的另一项服务是SocialSTS project。它是Azure ACS的一种扩展,旨在帮助您将更多身份提供者(如LinkedIn,Twitter,GitHUB,Amazon Login等)添加到您的访问控制服务。

您可以通过使用Service Identities与ACS直接进行身份验证,但他们并不打算用于最终用户验证,作为页解释:

服务身份并不打算用作结束用户凭证。在ACS中,通过OAuth WRAP协议,REST Web服务场景中最常使用服务标识,其中客户端直接从ACS请求SWT令牌以呈现给Web服务。

我相信这是直接从ACS获取令牌的唯一方法。