我遇到了错误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',
),
),
);
可以帮我解决问题吗?
答案 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文件中。
它对我有用。