SimpleSAMLphp SP 是否需要与 IdP 通信?
Does SimpleSAMLphp SP need to communicate with IdP?
我在文档和几页中磕磕绊绊了一段时间,但找不到答案。问题很简单:
当 SP 可通过互联网使用时,我能否在本地网络中托管 IdP(IdP 不可从外部使用)?
- 如果我在本地设置 IdP 和 SP,一切都很好。
- 如果我在 public 服务器上设置 IdP/SP 一切正常。
- 如果我在本地设置 Idp 并在 public 服务器上设置 SP,我最终会遇到
NOSTATE
错误。
我知道想要使用仅当您在特定网络上时才可用的 IdP 的 SP 没有太大意义。问题是我必须准确地处理那种情况。 ;)
当我通过 apache 访问日志分析工作流时,我没有看到 SP 和 IdP 之间的直接通信。似乎一切都由用户浏览器本身处理。所以我想应该可以吧?
如果可能的话,我只需要修复我的 NOSTATE
错误。如果这不可能,NOSTATE
错误只是误导,我将无法解决该问题。
有什么想法或经验吗?
SAML 支持前通道绑定(您正在寻找的)和后通道绑定,其中 SP 需要直接与 IdP 通信。我见过的绝大多数部署都使用前端通道,其中一切都通过用户的浏览器完成。
至于你的场景,是的,这是可能的。我们在测试中经常使用它。我已经看到企业的 IdP 仅在其本地网络中可用,但员工仍然可以访问外部的 SaaS 服务 - 因此您的情况确实有意义并且很常见。
关于您的问题(根据 docs)NOSTATE 通常是由域名更改、https 到 http 重定向以及存储会话的任何问题引起的 - 例如在您点击不同的负载平衡设置中不共享会话的服务器。
我会开始在 Firefox 中安装 SAML Tracer,然后查看 IdP 上发生的重定向,看看主机名、端口等是否发生变化。
我在文档和几页中磕磕绊绊了一段时间,但找不到答案。问题很简单:
当 SP 可通过互联网使用时,我能否在本地网络中托管 IdP(IdP 不可从外部使用)?
- 如果我在本地设置 IdP 和 SP,一切都很好。
- 如果我在 public 服务器上设置 IdP/SP 一切正常。
- 如果我在本地设置 Idp 并在 public 服务器上设置 SP,我最终会遇到
NOSTATE
错误。
我知道想要使用仅当您在特定网络上时才可用的 IdP 的 SP 没有太大意义。问题是我必须准确地处理那种情况。 ;)
当我通过 apache 访问日志分析工作流时,我没有看到 SP 和 IdP 之间的直接通信。似乎一切都由用户浏览器本身处理。所以我想应该可以吧?
如果可能的话,我只需要修复我的 NOSTATE
错误。如果这不可能,NOSTATE
错误只是误导,我将无法解决该问题。
有什么想法或经验吗?
SAML 支持前通道绑定(您正在寻找的)和后通道绑定,其中 SP 需要直接与 IdP 通信。我见过的绝大多数部署都使用前端通道,其中一切都通过用户的浏览器完成。
至于你的场景,是的,这是可能的。我们在测试中经常使用它。我已经看到企业的 IdP 仅在其本地网络中可用,但员工仍然可以访问外部的 SaaS 服务 - 因此您的情况确实有意义并且很常见。
关于您的问题(根据 docs)NOSTATE 通常是由域名更改、https 到 http 重定向以及存储会话的任何问题引起的 - 例如在您点击不同的负载平衡设置中不共享会话的服务器。
我会开始在 Firefox 中安装 SAML Tracer,然后查看 IdP 上发生的重定向,看看主机名、端口等是否发生变化。