ADFS不发送断言中的所有必需元素(SP启动)

时间:2014-12-17 15:39:17

标签: saml adfs

SAML 2.0

我正在努力帮助客户解决这个问题。我无法访问他们的ADFS服务器。我是他们尝试连接的服务提供商。

国内流离失所者发起的SSO工作正常。客户端从下拉列表中选择我们的服务,用户可以无缝登录。

SP启动但失败了。他们点击我们的服务器,我们发送auth请求,用户通过ADFS,ADFS POST到我们的ACS URL,然后失败,因为断言不包含所有必需的元素。条件,受众,NameIDPolicy等不存在,但Cert和Signature是。

我已经搜索了这个废话,找不到与我的客户分享的任何内容。我不是100%肯定他们对ADFS的经验,以及他们是否一直在检查事件日志中的错误。想法?

以下是删除了私人信息的断言: <samlp:Response ID="_2ffc76ad-1691-43-9b3a-0193d8348" Version="2.0" IssueInstant="2014-12-16T20:29:20.070Z" Destination="https://xxxx.com/samldefault.aspx" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="_290a5f3-4c68-b101-589a07a02a7c" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" > <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://xxxxxxxx/adfs/services/trust</Issuer > <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" > <ds:SignedInfo > <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" / > <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" / > <ds:Reference URI="#_2ffc76ad-1691-43f5-9b3a-01936ddd8348" > <ds:Transforms > <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" / > <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" / > </ds:Transforms > <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" / > <ds:DigestValue>DPLGDmOWmjpoSdETBsPE=</ds:DigestValue > </ds:Reference > </ds:SignedInfo > <ds:SignatureValue>xxxxxxxx</ds:SignatureValue > <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#" > <ds:X509Data > <ds:X509Certificate>xxxxxxxxx</ds:X509Certificate > </ds:X509Data > </KeyInfo > </ds:Signature > <samlp:Status > <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder" / > </samlp:Status > </samlp:Response>

1 个答案:

答案 0 :(得分:2)

想出来了。客户端查看了他们的服务器日志并找到了:

Log Name:      AD FS/Admin
Source:        AD FS
Date:          12/17/2014 3:53:30 PM
Event ID:      303
Task Category: None
Level:         Error
Keywords:      AD FS
User:          AD\adfssvc
Computer:      ADFS01.ad.he-equipment.com
Description:
The Federation Service encountered an error while processing the SAML authentication request.

Additional Data
Exception details:
Microsoft.IdentityModel.Protocols.XmlSignature.SignatureVerificationFailedException: ID4037: The key needed to verify the signature could not be resolved from the following security key identifier     'SecurityKeyIdentifier

无论是从他们的配置,还是在ADFS中默认,他们都需要导入我们的公共证书。由于需要证书,ADFS会通过不完整的SAML断言将用户传递给服务提供商,这似乎是不合逻辑的。但是,它现在有效。