0

所以我这样做只是为了测试我在 OpenAM 上的 SAML 配置是否正常工作。我已经安装了 simpleSAMLphp,按照安装说明进行操作(尽管我跳过了 '''certs''' 部分)。然后我发现这个教程是很棒的 OpenAM simpleSAMLphp 教程] 1

现在一切似乎都正常,当我选择使用 OpenAM 登录时,它会将我重定向到 OpenAM 的登录页面,我输入我的用户名和密码,然后我被重定向到 SimpleSAMLphp,但出现以下异常:

SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Backtrace:
0 /var/www/html/services/simplesamlphp/www/module.php:180 (N/A)
Caused by: Exception: Reference validation failed
Backtrace:
8 /var/www/html/services/simplesamlphp/vendor/robrichards/xmlseclibs/xmlseclibs.php:1056 (XMLSecurityDSig::validateReference)
7 /var/www/html/services/simplesamlphp/vendor/simplesamlphp/saml2/src/SAML2/Utils.php:54 (SAML2_Utils::validateElement)
6 /var/www/html/services/simplesamlphp/vendor/simplesamlphp/saml2/src/SAML2/Assertion.php:517 (SAML2_Assertion::parseSignature)
5 /var/www/html/services/simplesamlphp/vendor/simplesamlphp/saml2/src/SAML2/Assertion.php:247 (SAML2_Assertion::__construct)
4 /var/www/html/services/simplesamlphp/vendor/simplesamlphp/saml2/src/SAML2/Response.php:37 (SAML2_Response::__construct)
3 /var/www/html/services/simplesamlphp/vendor/simplesamlphp/saml2/src/SAML2/Message.php:509 (SAML2_Message::fromXML)
2 /var/www/html/services/simplesamlphp/vendor/simplesamlphp/saml2/src/SAML2/HTTPPost.php:76 (SAML2_HTTPPost::receive)
1 /var/www/html/services/simplesamlphp/modules/saml/www/sp/saml2-acs.php:16 (require)
0 /var/www/html/services/simplesamlphp/www/module.php:135 (N/A)

在我在这里发布我的消息之前我已经检查过了,OpenAM 的 SAML 响应似乎很好,它卡在了 Assertion.php 文件中。

我真的尝试了所有方法,但它让我非常头疼,我不想通过 SimpleSAMLphp 的代码。

任何帮助将非常感激 :-)

4

1 回答 1

0

在我看来,从 OpenAM 传递的属性不是 uri 格式。您能否捕获来自 SP 的 SAML 请求和来自 IDP 的响应并发布它。这将有助于查看请求的内容和提供的内容。

于 2014-07-10T02:11:10.147 回答