【发布时间】:2018-01-30 13:49:51
【问题描述】:
我需要在 SSO 期间使用 PingFederate 将数据从一个系统传递到另一个系统。
目前我的链接是这样的:
https://pingfederate.myexample.org/startSSO.ping?TargetResource=https%3A%2F%2Fwebapp.othercompany.org%3FkeepParam%3DkeepThisOnURLparamOne%3DvalueOne%26paramTwo%3DvalueTwo
TargetResource,已解码,如下所示:
https://webapp.othercompany.org?
keepParam=keepThisOnURL
¶mOne=valueOne
¶mTwo=valueTwo
pingfederate 处理完请求后,它最终向其他公司发帖,将整个 TargetResource 复制到 RelayState、params 和所有:
POST https://sso.othercompany.org
SAMLResponse: {paramOne: valueOne; paramTwo: valueTwo} //(in actual saml format)
RelayState: https://webapp.othercompany.org?keepParam=keepThisOnURL¶mOne=valueOne¶mTwo=valueTwo
我的目标是以某种方式将 paramOne 和 paramTwo 传递给 SAML 属性,但不会将这些参数传递到 RelayState,只保留 keepParam=keepThisOnURL:
POST https://sso.othercompany.org
SAMLResponse: {paramOne: valueOne; paramTwo: valueTwo} //(in actual saml format)
RelayState: https://webapp.othercompany.org?keepParam=keepThisOnURL
这可能与 PingFederate 相关吗?
例如,除了将数据潜入 TargetResource 之外,还有其他方法可以将数据从浏览器请求传递到 startSSO.ping 吗?
或者如果它们只能附加到 TargetResource,是否可以在复制到 RelayState 之前修改值(剥离大多数参数)?
【问题讨论】:
标签: single-sign-on saml saml-2.0 pingfederate