Simplesamlphp错误的元数据

时间:2015-06-12 14:54:05

标签: php single-sign-on saml

我正在使用simplesaml,服务提供商和身份提供商制作两个应用程序。

当我试图测试它们时,我收到以下错误:

SimpleSAML_Error_MetadataNotFound: METADATANOTFOUND('%ENTITYID%' => '\'http://samlsp.dev/module.php/saml/sp/metadata.php/default-sp\'')
Backtrace:
3 /var/www/samlidp/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:301 (SimpleSAML_Metadata_MetaDataStorageHandler::getMetaData)
2 /var/www/samlidp/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:318 (SimpleSAML_Metadata_MetaDataStorageHandler::getMetaDataConfig)
1 /var/www/samlidp/modules/saml/lib/IdP/SAML2.php:303 (sspmod_saml_IdP_SAML2::receiveAuthnRequest)
0 /var/www/samlidp/www/saml2/idp/SSOService.php:18 (N/A)

这是sp:

的元数据
$metadata['http://samlidp.dev/saml2/idp/metadata.php'] = array (
    'name' => 'test',
    'description' => 'next login test',
    'SingleSignOnService' => 'http://samlidp.dev/saml2/idp/SSOService.php',
    'SingleLogoutService' => 'samlidp.dev/saml2/idp/SingleLogoutService.php',
    'certFingerprint' => '38:EB:B2:DB:6F:45:C2:D6:92:CE:85:29:6B:CE:A6:D0:CE:91:19:7A'
);

这是IdP的元数据:

$metadata['http://samlsp.dev'] = array(
    'AssertionConsumerService'=> 'http://samlsp.dev/module.php/saml/sp/saml2-acs.php/default-sp',
    'SingleLogoutService'=> 'http://samlsp.dev/module.php/saml/sp/saml2-logout.php/default-sp'
);

1 个答案:

答案 0 :(得分:3)

我自己找到了答案。显然我打电话给错误的元数据。

首先是这个

$metadata['http://samlsp.dev'] = array(
    'AssertionConsumerService'=> 'http://samlsp.dev/module.php/saml/sp/saml2-acs.php/default-sp',
    'SingleLogoutService'=> 'http://samlsp.dev/module.php/saml/sp/saml2-logout.php/default-sp'
);

但必须是这样的:

$metadata['http://samlsp.dev/module.php/saml/sp/metadata.php/default-sp'] = array(
    'AssertionConsumerService'=> 'http://samlsp.dev/module.php/saml/sp/saml2-acs.php/default-sp',
    'SingleLogoutService'=> 'http://samlsp.dev/module.php/saml/sp/saml2-logout.php/default-sp'
);

我拨打错误的元数据,我的IdP无法找到元数据