【发布时间】:2019-09-22 02:36:53
【问题描述】:
我正在使用 SAML2 协议开发 SSO 身份验证系统。因为我还没有真正的 IDP 信息,所以我需要测试环境,所以我使用了 this docker 图像,它的作用就像一个魅力。我可以通过localhost:8080毫无问题地访问它,也可以使用测试帐户登录。
但是,当我尝试登录我的 SP(我正在开发的网站)时,虽然我很好地重定向到 localhost:8080/simplesaml/saml2/idp/SSOService.php 的 idp,但我收到一个错误消息,告诉我找不到元数据。这是堆栈跟踪:
SimpleSAML_Error_MetadataNotFound: METADATANOTFOUND('%ENTITYID%' => '\'\'')
Backtrace:
3 lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:300 (SimpleSAML_Metadata_MetaDataStorageHandler::getMetaData)
2 lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:320 (SimpleSAML_Metadata_MetaDataStorageHandler::getMetaDataConfig)
1 modules/saml/lib/IdP/SAML2.php:330 (sspmod_saml_IdP_SAML2::receiveAuthnRequest)
0 www/saml2/idp/SSOService.php:19 (N/A)
有没有人遇到过同样的问题?因为我真的不明白 SimpleSAMLphp 在哪里尝试获取这些元数据。
注意:
我可以在
localhost:8080/simplesaml/saml2/idp/metadata.php手动找到元数据这是我工作的一个旧项目,它是 symfony 1 的一个分支,所以我不能使用更新的插件。所以对于 SSO,我在服务提供商端使用 this 插件。
【问题讨论】:
标签: docker single-sign-on simplesamlphp