SAML注销未正确完成

时间:2013-09-17 15:24:10

标签: saml-2.0 adfs2.0 adfs federation

将SAML LogoutRequest发送到ADFS IdP时,我遇到了ADFS端错误:

Microsoft.IdentityServer.Web.RequestFailedException:MSIS7054:SAML注销未正确完成。    在Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSamlLogoutResponse(HttpSamlMessage samlMessage)    在Microsoft.IdentityServer.Web.FederationPassiveAuthentication.SamlLogout()

消息符合SAML标准并已签名。

我需要寻找什么?

1 个答案:

答案 0 :(得分:0)

我终于从我们的合作伙伴处获得了更多详细信息。问题是在pratners ADFS服务器上我们的RelayParty的签名选项卡中缺少证书。此问题可能是缺少ADFS IIS运行过程所提到的证书私钥的权限(很可能是NETWORK SERVICE)。 SLO现在正常运作。

联合身份验证服务在处理SAML身份验证请求时遇到错误。

其他数据

异常详情:

Microsoft.IdentityModel.Protocols.XmlSignature.SignatureVerificationFailedException:ID4037:无法从以下安全密钥标识符“SecurityKeyIdentifier

解析验证签名所需的密钥

IsReadOnly = False,

计数= 1,

Clause [0] = Microsoft.IdentityServer.Tokens.MSISSecurityKeyIdentifierClause

”。确保使用所需的密钥填充SecurityTokenResolver。

at Microsoft.IdentityModel.Protocols.XmlSignature.EnvelopedSignatureReader.ResolveSigningCredentials()

at Microsoft.IdentityModel.Protocols.XmlSignature.EnvelopedSignatureReader.OnEndOfRootElement()

at Microsoft.IdentityModel.Protocols.XmlSignature.EnvelopedSignatureReader.Read()

在System.Xml.XmlReader.ReadEndElement()

at Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadLogoutRequest(XmlReader reader)

at Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadSamlMessage(XmlReader reader,NamespaceContext context)

at Microsoft.IdentityServer.Protocols.Saml.HttpSamlBindingSerializer.ReadProtocolMessage(String encodedSamlMessage)

at Microsoft.IdentityServer.Protocols.Saml.Contract.SamlContractUtility.CreateSamlMessage(MSISSamlBindingMessage message)

at Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.Logout(LogoutRequest logoutRequest)

at Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.ProcessRequest(Message requestMessage)