ADFS SAML 单点注销

Eri*_*ney 5 adfs federated

我正在处理作为依赖方连接到 ADFS 的 Web 应用程序,以便与合作伙伴声明提供程序进行单点登录集成。这一切都通过 SAML(而不是 WS 联合)。Web 应用程序是 .NET 并使用 WIF SAML 扩展。所有这些都适用于 SSO。

不起作用的是单点注销到索赔提供者。我的应用程序通过 WIF 扩展正确重定向到带有 SAML 注销请求的https://adfs.example.com/adfs/ls,然后 ADFS 又在 /saml/redirect/sloresponse 重定向回我。这一切都很好,但永远不会发生任何上游到声明提供者(SAML 身份提供者)以从那里注销的情况。声明提供程序确实在其 SAML 元数据中发布了 SingleLogoutService,并且当声明提供程序直接将 SAML 与我的 Web 应用程序对话(中间没有 ADFS)时,它会起作用。

问题:

  1. ADFS 是否完全支持上游 SAML 单点注销?在网上搜索我发现了一些神秘的笔记,但我找不到确切的来源。

  2. 如果不在 ADFS 2.0 中,是否在 ADFS 2.1 中?如有必要,我们可以升级到 Windows 2012。

  3. 如果不是 SAML,ADFS 可以使用 WSFederation 做到这一点吗?声明提供者信任和依赖方信任都需要 WSFed 吗?

  4. 如果根本不可能,是否有任何推荐的解决方法?也许直接重定向到声明提供程序并将 SAML 注销请求推送到 ADFS?

谢谢!

maw*_*ras 2

有点晚了但希望对某人有帮助。NameID 在这里可以发挥作用。您是否在“使用 AD FS 2.0 作为服务提供商示例的 SAML 2.0 身份提供商”自述文件步骤 3 中看到了这句话?

\n\n
\n

“笔记:

\n\n

\xc2\xb7 默认情况下,NameIdentifier 声明不包含在 AD FS 的传出声明中。这可以添加为声明转换\n 规则。这是正确执行注销所必需的。”

\n
\n\n

合作伙伴 IDP 是否发送了 NameID,并且您的 ADFS 是否配置为向 RP 应用程序发送 NameID?我已经配置了与您完全相同的设置,其中我的 IDP 和 RP STS 都是 ADFS,并且工作正常。

\n\n

请注意,现阶段不支持 WIF SAML 扩展 CTP。我假设这不是生产设置?

\n\n

此功能不需要 Windows Server 2012 AD FS 2.1。尽管 8.1 服务器版本中提供了一些不错的额外功能,可能会影响您的升级决策:)

\n