我们正在使用带有 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