【发布时间】:2016-02-08 23:04:58
【问题描述】:
我希望确认有效的已签名 SAML 注销请求需要 RelayState。
我们已将 Microsoft 的 ADFS 2012 R2 与 Oracle 的 Identity Federation 联合起来,其中 ADFS 是 SP,OIF 是 IdP。作为基础,我们关注了Integrating ADFS 2.0/3.0 SP with OIF IdP。
一切正常,除了注销。我们有另一个 SP 正在注销并与 OIF 合作。我们发现的一个区别是 ADFS 没有发送 RelayState 参数及其签名的注销请求,但另一个 SP 是。我一直在使用SAMLTool's Validate Logout Req,在这里我输入了以下内容:
- SAML 注销请求
- 来源的EntityId
- 目标 URL,注销请求的目的地
- SigAlg
- SAML 注销请求的签名
- X.509 源证书(检查签名)
- 忽略计时问题:选中
然后给我错误:
In order to check Signature you must provide the RelayState parameter and the X.509 cert
如果我在SAMLTool's Validate Logout Req 中输入 RelayState 以及我的其他值,那么它会报告我签名的注销请求是有效的。
在 ADFS 的情况下,因为它没有 RelayState 参数,我无法让SAMLTool's Validate Logout Req 说从 ADFS 注销是有效的。
话虽如此,我在 SAML 规范中找不到任何地方说签名注销请求需要 RelayState。任何人都可以确认它是必需的并用文档备份吗?
【问题讨论】:
标签: single-sign-on saml