【问题标题】:PingFederate IdP startSSO.ping: How to pass data to be placed into SAML attributes?PingFederate IdP startSSO.ping:如何传递要放入 SAML 属性的数据?
【发布时间】: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
    &paramOne=valueOne
    &paramTwo=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&paramOne=valueOne&paramTwo=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


    【解决方案1】:

    将参数添加到中继状态的原因是因为您对它们进行了 URLEncoded,所以 PingFed 认为它们只是 TargetResource 的一部分。

    相反,你会做这样的事情:

    https://pingfederate.myexample.org/idp/startSSO.ping?
      paramOne=valueOne&
      paramTwo=valueTwo&
      TargetResource=https%3A%2F%2Fwebapp.othercompany.org%3FkeepParam%3DkeepThisOnURL
    

    我要指出两点,第一点是个大人物:

    • 不支持通过在 startSSO.ping 调用中传递的参数实现属性,并且在至少满足两个当前功能请求(PPQ-1141 和 PPQ-2815)中的一个之前无法正常工作。目前在开发培训中都没有安排这些(请求量较低),因此,如果这对您的工作至关重要,请与您的 Ping 客户主管联系,以沟通您的需求。
    • 我应该指出,从操作的角度来看,这种整体方法可能没有多大意义,仅仅是因为这意味着您将依赖 IdP 发起的事务,因为您无法通过SP 发起的交易。

    基于这些,我建议尝试构建另一个解决方案,您可以通过该解决方案设置这些属性,我认为这可能很困难 - 特别是如果它们仅在运行时派生,而不是通过对数据存储的查询。

    【讨论】:

      猜你喜欢
      • 2015-04-19
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 2020-01-03
      • 2021-10-16
      • 2017-04-13
      相关资源
      最近更新 更多