【问题标题】:SimpleSAMLPHP bind via POSTSimpleSAMLPHP 通过 POST 绑定
【发布时间】:2017-11-13 15:42:22
【问题描述】:

我们当前的 SAML 设置与 SimpleSAMLPHP 库提供的或多或少的默认设置配合得很好。但是,一个新的 IDP 特别需要通过 POST 绑定绑定到 SP。

似乎 SimpleSAMLPHP 将始终使用 GET 请求重定向到 IDP,例如可以在此处清楚地看到:

似乎也没有明确的配置设置来控制这一点。

我们尝试使用 NameID 策略设置,但没有成功。 SP 在其元数据中列出了以下 NameID 策略:

urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST

我们自己的 NameID 政策如下:

urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

这里的任何提示都将受到高度赞赏

【问题讨论】:

    标签: php saml simplesamlphp


    【解决方案1】:

    您希望 IdP 的元数据具有用于 SingleSignOnServiceurn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST 绑定,并在支持的 SingleSignOnService 选项列表中首先列出该绑定。这通常在文件metadata/saml20-idp-remote.php 中。这与 NameId 和具有相同绑定名称的 AssertionConsumerService SP 绑定不同。您的 SP 将选择 IdP 元数据中为 IdP 列出的第一个 SingleSignOnService 选项。

    $metadata['https://some.idp.co'] = array (
        'entityid' => 'https://some.idp.co',
        'metadata-set' => 'saml20-idp-remote',
        'SingleSignOnService' =>
            array (
                0 =>
                    array (
                        'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
                        'Location' => 'https://some.idp.co/idp/profile/SAML2/POST/SSO',
                    ),
                1 =>
                    array (
                        'other options, etc'
                    ),
            ),
    

    【讨论】:

    • 绑定已经存在,我们需要配置其他任何东西来启用 HTTP-POST。现在 simplesamlphp 在我的例子中自动检测带有 GET 方法的 HTTP-Redirect
    猜你喜欢
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多