0

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

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

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

谁能给我们一个提示,告诉我们如何在我们的 MVC4 服务器中最好地访问 ACS 握手的适当早期阶段?

非常感谢!R

4

1 回答 1

0

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

于 2012-10-07T19:43:48.310 回答