我终于从我们的合作伙伴那里得到了更详细的日志。问题是pratners ADFS 服务器上我们的RelayParty 的签名选项卡中缺少证书。此外,问题可能是缺少 ADFS IIS 运行进程(很可能是网络服务)的上述证书的私钥的权限。SLO 现在工作正常。
联合服务在处理 SAML 身份验证请求时遇到错误。
附加数据
异常详情:
Microsoft.IdentityModel.Protocols.XmlSignature.SignatureVerificationFailedException:ID4037:无法从以下安全密钥标识符“SecurityKeyIdentifier”解析验证签名所需的密钥
(
IsReadOnly = 假,
计数 = 1,
子句[0] = Microsoft.IdentityServer.Tokens.MSISSecurityKeyIdentifierClause
)
'。确保使用所需的密钥填充 SecurityTokenResolver。
在 Microsoft.IdentityModel.Protocols.XmlSignature.EnvelopedSignatureReader.ResolveSigningCredentials()
在 Microsoft.IdentityModel.Protocols.XmlSignature.EnvelopedSignatureReader.OnEndOfRootElement()
在 Microsoft.IdentityModel.Protocols.XmlSignature.EnvelopedSignatureReader.Read()
在 System.Xml.XmlReader.ReadEndElement()
在 Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadLogoutRequest(XmlReader 阅读器)
在 Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadSamlMessage(XmlReader 阅读器,NamespaceContext 上下文)
在 Microsoft.IdentityServer.Protocols.Saml.HttpSamlBindingSerializer.ReadProtocolMessage(字符串编码的SamlMessage)
在 Microsoft.IdentityServer.Protocols.Saml.Contract.SamlContractUtility.CreateSamlMessage(MSISSamlBindingMessage 消息)
在 Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.Logout(LogoutRequest logoutRequest)
在 Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.ProcessRequest(消息 requestMessage)