我正在将Windows Azure ACS作为在我的应用中实现自己的用户名/密码方案的替代方案。这将是一个公开的网站。
除了使用Google或Facebook等SSO提供商外,我还可以使用Windows Azure ACS来支持用户名/密码身份验证吗?
我发现它支持Active Directory作为提供程序。我不确定这是正确的,因为我一直认为Active Directory是一个“企业”提供者。
答案 0 :(得分:2)
Windows Azure ACS不支持您需要的表单中的用户名/密码身份验证。 Shahin详细介绍了它。
您的选择确实是:
虽然使用域控制器选项部署的经典本地Active Directory确实非常有事,但WAAD并不是云中相同的版本。我实际上建议你试一试并尝试一下。使用WAAD Graph API,您可以在WAAD中完全自动化用户管理。
您的第二个选项基于IdSVR。这是功能齐全的身份服务器和安全令牌服务。它是针对安全性的最佳实践而开发的,并且非常容易扩展!虽然它不提供开箱即用的用户管理支持(用户注册,密码重置等),但它是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登录等)。
答案 1 :(得分:1)
您可以使用Service Identities直接通过ACS进行身份验证,但不会将其用于最终用户身份验证,如页面所示:
服务标识不应用作最终用户凭据。在ACS中,服务标识最常用于REST Web服务方案,通过OAuth WRAP协议,客户端直接从ACS请求SWT令牌以呈现给Web服务。
我相信这是直接从ACS获取令牌的唯一方法。