0

我们遇到了同样的问题。我们有带有 ADFS 的 SP2010。在 iFrame 中,我们正在加载一个也配置为使用 ADFS 的外部应用程序。

如果我们在页面上放置一个,我们可以在不登录的情况下打开外部应用程序,因此 SingleSignOn 可以正常工作。

但是,如果我们在 iframe 中加载外部应用程序,我们会遇到问题。

如果我们运行 Fiddler 来查看进行了哪些调用,我们会看到“正常”的 adfs 流。当 adfs 通过重定向到外部应用程序的 url 返回时,提供的 FedAuth cookie 不包含在对外部应用程序的后请求中。由于外部应用程序没有收到 cookie,我们最终陷入了无限循环。

该问题是由 IE 将身份验证 cookie 视为第三方 cookie 引起的。它的安全设置阻止它将 cookie 添加到请求中。当我们将 IE 隐私设置更改为低(接受所有 cookie)时,一切正常。

有谁知道我们如何解决这个问题?

4

1 回答 1

1

我们曾经通过放置一个虚拟的“起始”页面解决了这个问题,以便 Sharepoint 用户首先点击此页面并被迫在 ADFS 中进行身份验证。

然后,只有在后续页面上,您才有 iframe。即使 iframe 没有从容器页面获取 cookie,这也无关紧要 - 上下文被重定向到 ADFS,ADFS 以静默方式发出令牌(因为用户已经在 ADFS 中进行了身份验证)并且应用程序托管在iframe 处理令牌。

我不确定您为什么希望 ADFS 对您的应用程序的响应会携带 cookie?它从不这样做,它只在响应正文中携带 SAML 令牌。

于 2013-07-18T17:20:44.880 回答