使用ACS对IdP进行身份验证后显示SWT令牌

时间:2012-02-07 23:56:35

标签: odata acs

我正在尝试创建一个将使用身份验证的OData服务。 ACS提供的授权。

我能够配置ACS,但现在我需要为服务的用户提供生成SWT令牌的能力,以将其添加到“授权”标头中。我想创建一个网页,提供可用的IdP列表,并在成功验证后显示SWT令牌。

怎么做?

2 个答案:

答案 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,数据访问团队在他们的博客上也有很好的浏览系列。

http://blogs.msdn.com/b/astoriateam/archive/2011/01/20/oauth-2-0-and-odata-protecting-an-odata-service-using-oauth-2-0.aspx