1

我设置了 PingFederate IdP,我想为基于 SimpleSAMLphp 的 SP 启用 SSO。PingFederate 配置要求使用 POST 绑定发送 SAML 请求,以及将 LogoutRequest 作为 POST 请求发送。SimpleSAML 将 SAML 请求发送到默认 HTTP 重定向绑定中的 SignOnService。我尝试通过以下方式更改 saml20-idp-remote.php 中 idp 的绑定:

'SingleSignOnService' => array(
                                0 => array(
                                        'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
                                        'Location' => 'https://myidp.com'
                                ),
                        ),

当我尝试测试身份验证时,在选择 IdP 后,我收到以下错误:

Exception during login:
Exception: saml20-idp-remote/'stagingsp'['SingleSignOnService']:Could not find a supported SingleSignOnService endpoint.

我没有设置正确的绑定,还是我做的方式不正确?SP 元数据中是否需要一些配置?

4

1 回答 1

0

您是否在各方之间交换了元数据?这意味着作为双向通信工作。您必须在 IdP 和 SP 之间交换元数据(即作为 .xml 文件)。

通常它应该如下所示:
- 生成元数据文件(在 PingFederate/IdP 中),并将其发送给 SP。
- SP 注册该元数据文件
- SP 生成自己的元数据文件,并将其发送给 IdP
- IdP 从 SP 注册元数据

这样双方互相了解,互相了解 SingleSignOn 和 SingleLogOut URL

于 2018-02-27T20:24:42.283 回答