我有一个相关方应用程序,可以通过 WS-Federation 接受 SAML 1.0 和 2.0。我手动配置了声明和信任关系,一切正常。
我检查了传递的令牌并发现它是 SAML 1.1 令牌。(saml:Assertion 元素的 MajorVersion 和 MinorVersion 设置为 1)。
我重新运行了“添加依赖方信任向导”,并确保我在“选择配置文件”下选择了“AS FS 配置文件”——因为它特别提到了 SAML 2.0 协议(据我所知,这与通过 WS-Federation 协议传递的 SAML 2.0 令牌不同,但似乎很有希望)。我还梳理了所有剩余的设置,但我看不到选择令牌类型的设置。
在 ADFS 中配置信任关系时,如何在 SAML 1.0 和 SAML 2.0 令牌之间进行选择?
我实际上不能 100% 确定我正在使用哪个版本的 ADFS,但“ADFS 管理”显示版本 6.2.0.0
答案1
“MMC;帮助;关于 AD FS 管理”确实显示了版本。它显示了操作系统版本。从 S2012 开始,ADFS 与操作系统版本一一关联。您可能使用的是 S2012,因为 6.2 是 S2012。
ADFS 从未想过将 SAML2 令牌发送给其 WS-* 依赖方。ADFS 始终坚持使用 SAML1 令牌。SAML2 协议强制使用 SAML2 令牌。WS-* 并未强制要求使用 SAML2 令牌,并且为了向后兼容和其他互操作协议,他们保留了 SAML1 令牌?
您想要 SAML2 令牌有什么具体原因吗?常规 WIF 应用程序不会注意到差异。