Azure ACS WIF从MVC客户端访问原始SSO令牌

时间:2012-10-04 14:53:13

标签: asp.net-mvc azure wif acs

我们正在使用Azure ACS和MVC4,并通过我们的身份提供商(IP)成功验证我们的信赖方(RP)。然后,我必须通过不了解ACS的现有接口访问相同的IP:它需要在协议握手期间提供给ACS的原始SSO令牌。

当我弄乱这个场景时,我确切地看到这个SSO令牌在与ACS的身份验证握手的初始阶段期间被多次发送到我们的RP,但是当我在我的MVC控制器中登录后访问Thread.CurrentPrincipal.Identity时,在我的请求上下文中的任何地方都没有原始SSO令牌的痕迹,即使我将ACS设置为保留所有bootsrapTokens。 ACS已用FedAuth cookie替换了初始令牌。我来不及了: - )

因此看起来我需要访问WS-Federation管道(WSFAM或SAM)的早期阶段之一,以从请求标头中提取原始IP sso-token并保留以供日后使用。

任何人都可以告诉我们如何在我们的MVC4服务器中最好地访问ACS握手的适当早期阶段吗?

非常感谢! [R

1 个答案:

答案 0 :(得分:0)

好的,我通过设置MVC客户端(RP)来使用没有Azure-ACS的WIF-WS-Federation来解决这个问题。那时,我注意到索赔包中有几个声明名称空间被传输。一切都在那里:ACS除了标准名称空间之外,还为我做了很好的过滤。因此,在知名空间和声明标记已知之后,我回到ACS管理门户并简单地将它们配置为输入和输出规则,然后将它们传递给我的RP。