我正在使用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'
);
答案 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无法找到元数据