我们当前的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
此处的任何提示都将受到高度赞赏
答案 0 :(得分:2)
您希望IdP的元数据与urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
具有SingleSignOnService
绑定,并且首先在支持的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'
),
),