SimpleSAMLphp无法检索IdP'http://simpleidp/simplesaml/saml2/idp/metadata.php'的元数据,因为它不是此SP的有效IdP

时间:2016-11-25 12:02:24

标签: php simplesamlphp

我遇到了错误simplesamlPHP     SimpleSAML_Error_Error:UNHANDLEDEXCEPTION     回溯:     0 /var/www/simplesp/www/module.php:180(N / A)     引发者:SimpleSAML_Error_Exception:无法检索IdP“http://URLIDP/simplesaml/saml2/idp/metadata.php”的元数据,因为它不是此SP的有效IdP。     回溯:     2 /var/www/simplesp/modules/saml/lib/Auth/Source/SP.php:112(sspmod_saml_Auth_Source_SP :: getIdPMetadata)     1 /var/www/simplesp/modules/saml/www/sp/saml2-acs.php:91(需要)     0 /var/www/simplesp/www/module.php:137(N / A)

使用SP为我配置:

/var/www/simplesp/metadata/saml20-idp-remote.php

$metadata['URLIDP'] = array(
    'SingleSignOnService'  => 'URLIDP/simplesaml/saml2/idp/SSOService.php',
    'SingleLogoutService'  => 'URLIDP/simplesaml/saml2/idp/SingleLogoutService.php',
    'certFingerprint'      => 'c9ed4dfb07caf13fc21e0fec1572047eb8a7a4cb'
);

使用Idp为我配置: /var/www/simpleidp/metadata/saml20-sp-remote.php

$metadata['URLSP/simplesaml/module.php/saml/sp/metadata.php/default-sp'] = array(
    'SingleLogoutService' =>
        array(
            0 =>
                array(
                    'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
                    'Location' => 'URLSP/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',
                ),
        ),
    'AssertionConsumerService' =>
        array(
            0 =>
                array(
                    'index' => 0,
                    'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
                    'Location' => 'URLSP/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',
                ),
            1 =>
                array(
                    'index' => 1,
                    'Binding' => 'urn:oasis:names:tc:SAML:1.0:profiles:browser-post',
                    'Location' => 'URLSP/simplesaml/module.php/saml/sp/saml1-acs.php/default-sp',
                ),
            2 =>
                array(
                    'index' => 2,
                    'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact',
                    'Location' => 'URLSP/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',
                ),
            3 =>
                array(
                    'index' => 3,
                    'Binding' => 'urn:oasis:names:tc:SAML:1.0:profiles:artifact-01',
                    'Location' => 'URLSP/simplesaml/module.php/saml/sp/saml1-acs.php/default-sp/artifact',
                ),
        ),

);

可以帮我解决问题吗?

2 个答案:

答案 0 :(得分:2)

在SP上,您已将其配置为认为IdP的EntityID为URLIDP。错误消息显示IdP认为其EntityID为http://URLIDP/simplesaml/saml2/idp/metadata.php。那两个应该匹配。您可以使用正确的值更新SP上的saml20-idp-remote.php(例如,更新$metadata数组中的密钥)。

答案 1 :(得分:1)

看起来它没有解析您的元数据文件。确保您的saml20-sp-remote.php文件以

行开头

<?php

所以它知道它的PHP。如果您已从元数据解析器的输出中创建了新文件,则它不会为您添加此文件。它给你的片段应该被粘贴到现有的php文件中。

它对我有用。