0

在我们的 SSO 场景中,我们使用 ADFS 2.0 作为 IDP,使用 Shibboleth 作为 SP。它是由 SP 发起的登录。配置后,当我尝试在 Shibboleth 和 ADFS 2.0(抛出浏览器重定向)之间建立通信时,ADFS 2.0 抛出以下错误。

SAML 消息签名验证失败。消息发布者:http://sampleserver/adfs/services/trust 异常详细信息:MSIS1015:服务器需要签名的 SAML AuthenticationRequest 但不存在签名。

事件 ID - 320 相关事件 ID - 364

> Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolSignatureVerificationException:
> MSIS1015: Server required signed SAML AuthenticationRequest but no
> signature present.    at
> Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.ValidateSignatureRequirements(SamlMessage
> samlMessage)    at
> Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.Issue(IssueRequest
> issueRequest)    at
> Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.ProcessRequest(Message
> requestMessage)

我们还没有使用任何签名。我还在ADFS 属性中将 SignedSamlRequest 设置为 false。Shibboleth 的 SAML 签名也被禁用。

除了此类错误的通用指南外,我在 Microsoft 网站上找不到任何信息。

请就此错误提出建议。

4

1 回答 1

0

经过大量分析,我能够找到解决方案。这是一个 Shibboleth 配置问题。在应用程序默认值部分,实体 ID 对于应用程序应该是唯一的。

ApplicationDefaults signing="false" entityID="http://URL of the protected Application " REMOTE_USER="eppn persistent-id targets-id"

当 siging 设置为 true 时,会发生此错误的另一种变化。这将导致 ADFS 中的签名不匹配错误。

于 2013-05-15T03:25:11.687 回答