【问题标题】:Using ACS as a service with custom identity provider将 ACS 用作具有自定义身份提供者的服务
【发布时间】:2012-11-06 13:48:27
【问题描述】:
我们正在开发一个 iOS 应用程序,并且我们使用 Azure 的后端。我们有两种登录方式,一种是 Facebook 登录(使用 Fb 作为身份提供者),另一种是直接登录我们的系统。
我们决定使用 ACS,但我们遇到了很多技术问题。我的问题是是否可以创建自定义身份提供程序,它将是一个服务(例如 WCF 或 WEB API)来生成一个令牌,我们通过 ACS 来获取声明令牌。 ACS 是否支持这种服务接口?如果是这样,在我们的自定义身份提供者中生成令牌的做法是什么?
提前致谢,
平分
【问题讨论】:
标签:
authentication
service
identity
provider
acs
【解决方案1】:
ACS 可以支持任何使用它理解的协议的身份提供者。根据身份提供者背后的后端,您可以使用 ADFS 之类的东西或使用 WIF 编写自己的身份提供者。 ACS 不支持将基于 Web 的身份提供者与基于 WCF 的身份提供者混合和匹配,这意味着您需要公开一个网站,ACS 可以使用 WS-Federation 协议将浏览器重定向到该网站。您拥有的唯一外部合同是 ACS 会将用户重定向到您,您需要让他们登录(这对您的 IdP 意味着什么取决于您)并将令牌发回给 ACS。
实际上有整本关于如何使用 WIF 编写自己的 STS 的书籍,开始有许多资源可以提供帮助,包括 WIF SDK(它为 STS 提供模板)、this whitepaper(请参阅“使用 Windows Identity Foundation 构建安全令牌服务”部分)或this blog post。