我正在尝试创建一个将使用身份验证的OData服务。 ACS提供的授权。
我能够配置ACS,但现在我需要为服务的用户提供生成SWT令牌的能力,以将其添加到“授权”标头中。我想创建一个网页,提供可用的IdP列表,并在成功验证后显示SWT令牌。
怎么做?
答案 0 :(得分:2)
SCB的链接是一个很好的开始。听起来除了您的OData服务之外,您希望托管一个能够获取和缓存ACS发布的SWT令牌的网站,以便它可以用于对用户的OData服务进行经过身份验证的调用&# 39;代表。
您可以使用基于WIF的网站执行此操作,例如ACS sample,但您需要提供自己的自定义安全令牌处理程序,以便它了解SWT令牌,WIF本身不支持这些令牌。< / p>
查看提供有关如何执行此操作的提示的april 2011 identity training kit。例如,您可以在Windows Phone 7示例中找到基于WIF库构建的SimpleWebToken和SimpleWebTokenHandler类。查看该演练的第38步,其中显示了如何将SimpleWebTokenHandler添加到您的站点的web.config。
完成所有工作后,您还需要配置saveBootstrapTokens =&#34; true&#34;在web.config的microsoft.identityModel / service部分中也是如此。这样,您的网站可以像这样抓取SWT令牌:
SimpleWebToken swt = ((IClaimsIdentity)HttpContext.Current.User.Identity).BootstrapToken as SimpleWebToken
答案 1 :(得分:1)
如果我正确理解您的问题,您正试图显示一个列出可用提供商的页面。
微软有一个非常好的例子,说明如何连接ACS,其中包括显示自动生成的提供者列表。
http://www.windowsazure.com/en-us/develop/net/how-to-guides/access-control/
关于将OData挂钩到ACS,数据访问团队在他们的博客上也有很好的浏览系列。