SimpleSAMLphp SP是否需要与IdP通信?

时间:2016-09-07 12:45:38

标签: php simplesamlphp

我现在在文档和几页上磕磕绊绊了一段时间,但我无法找到答案。问题很简单:

我可以在本地网络中托管IdP(外部无法提供IdP),而SP可以通过互联网获取吗?

  • 如果我在本地设置IdP和SP,一切都很好。
  • 如果我在公共服务器上设置IdP / SP,一切都很好。
  • 如果我在本地设置Idp并在公共服务器上设置SP,我最终会遇到NOSTATE错误。

我知道想要使用仅在您在特定网络上时可用的IdP的SP并没有太多意义。问题是我必须处理这种情况。 ;)

当我通过apache访问日志分析工作流程时,我看不到SP和IdP之间的直接通信。似乎所有内容都由用户浏览器本身处理。因此我觉得应该可以吗?

如果应该可以,我只需修复NOSTATE错误。如果无法做到这一点,NOSTATE错误就会引发误解,我将无法解决这个问题。

任何想法或经历?

1 个答案:

答案 0 :(得分:1)

SAML支持前端通道绑定(您正在寻找的)以及SP需要直接与IdP通信的反向通道绑定。我见过的绝大多数部署都使用前端频道,一切都是通过用户的浏览器完成的。

至于你的情景,是的,这是可能的。我们经常在测试中使用它。我看到企业只能在其本地网络中使用他们的IdP,但员工仍然可以访问外部的SaaS服务 - 因此您的情况确实有意义并且很常见。

关于您的问题(根据docs)NOSTATE通常是由域名更改,https到http重定向以及存储会话的任何问题引起的 - 例如在负载均衡设置中,您点击不同的服务器不要分享会议。

我将开始在Firefox中安装SAML Tracer,然后查看IdP上发生的重定向,并查看主机名,端口等是否发生变化。