【问题标题】:Can a private IdP make an SSO request to a public SP私有 IdP 能否向公共 SP 发出 SSO 请求
【发布时间】:2016-11-24 00:25:44
【问题描述】:

好的,所以我的系统是 SAML2 SP。我们已经在 SSOCircle(公共 saml idp 测试工具)上对其进行了测试,并且可以正常工作。

现在我们正尝试与一位客户(即 IdP)进行设置。我的问题是,如果我们正在执行 IdP 发起的 SSO - IdP 是否需要对 SP 可见? (无法通过网络访问 idp)或者只要 IdP 可以发布到 SP 就没有关系? (SP 是公开可见的)。

我的假设是没有。对吗?

【问题讨论】:

  • IdP 和 SP 必须相互建立信任才能进行交谈。如果一个人对另一个人是不可见的,那么就不会有任何交流。另一方只是拒绝 SAMLRequest 或 SAMLResponse,因为它不知道谁在发送请求/响应。你能解释一下你的用例吗?
  • 一个 IdP 正在向我们的 ACS 发送一个 SAMLResponse。它是 IdP 发起的 SSO,因此这里只有 1 路流量(IdP -> SP)。 IdP 可以看到 SP,但反过来看不到。我们遇到的问题是关于 nostate (我们是 SP 并使用 simplesaml)。我们确实收到了 saml 响应 - SAML Tracer 向我们展示了这一点。

标签: saml-2.0 simplesamlphp


【解决方案1】:

这实际上取决于您使用的绑定。如果您使用的是 POST 绑定,那么 IDP 和 SP 之间的所有通信实际上都是通过浏览器进行的,而 IDP 和 SP 不需要直接通信。

工件绑定不是这种情况,SP 需要在 IDP 上获取令牌。

【讨论】:

  • 是的 - 这是 HTTP Post。当我们尝试这种集成时,我们得到了一个 nostate 错误。我们(SP)正在收到对我们的 ACS 服务的 SAML 响应 - 所以我们不知道哪里出了问题。
  • 不确定错误消息,但“无状态”错误可能意味着您的 SP 仅在 SP 启动的流中期待响应。在 SP 发起的流中,SP 期望随响应一起发送 RelayState 参数。此参数不在 IDP 发起的流中发送。
猜你喜欢
  • 2020-06-01
  • 1970-01-01
  • 2019-03-23
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
  • 2015-09-23
  • 2013-05-29
相关资源
最近更新 更多