noc*_*ndi 4 spring spring-security saml-2.0 spring-saml
我已经使用 Spring SAML 实现了 SSO,并且一切正常,可以与 idp.ssocircle.com 进行交互。
现在我正在尝试使用另一个身份提供者。我已经下载了 IdP 的元数据并将其链接到我的 spring XML 配置中。我还将服务提供者的元数据上传到 iDP 并将其链接到 spring XML 配置中。
我被重定向到 IdP 的登录页面,并且可以成功输入我的凭据。但是会出现这样的错误“签名未根据凭据的密钥进行验证”。
还有另一个描述类似问题的 stackoverflow 帖子,请参阅“HTTP 状态 401 - 身份验证失败:传入的 SAML 消息无效”,将 Salesforce 作为 IdP 以实现 SSO
但是我在遵循解决方案时遇到了问题,因为 Fiddler 捕获的我的 SAML 响应不包含像“X509Certificate”这样的元素。
编辑(!):但我不得不说,我的身份提供者的元数据在“ds:keyInfo”中包含一个类似“ds:X509Certificate”的元素,其中包含一些内容。但是还有另一个空的“ds:keyInfo”-Element 和一个空的“ds:X509Data”-Element。
身份提供者的配置有问题吗?
谁能告诉我这里发生了什么?
完整的日志文件:https : //drive.google.com/file/d/0B3RlRCEjz-cvZGQ5aldzaUc0blE/edit?usp=sharing
提前致谢,
和我
似乎该Response消息是使用与 IdP 元数据中包含的证书不同的证书进行签名的。您应该让您的 IdP 告诉您他们用于签名的证书并将它们添加到他们的元数据文件中。根据您所说的,也可能是元数据文件不完整或已损坏。
另一种选择是将他们为您提供的证书添加到samlKeystore.jks(并记住别名)。然后定义别名作为signingKey对ExtendedMetadata在Spring配置您的IDP的元数据定义的。您可以ExtendedMetadata在Spring SAML 手册中找到有关使用 的详细信息。
响应消息中未包含密钥这一事实并没有错,Spring SAML 从元数据和 ExtendedMetadata 配置中知道要使用哪些密钥。
| 归档时间: |
|
| 查看次数: |
9579 次 |
| 最近记录: |