无效的SAML AuthN请求

时间:2019-05-10 10:00:33

标签: xml xsd single-sign-on saml-2.0

通过尝试使用ADFS在我的SP和IDP之间建立SSO连接(由sp启动),我无法从IDP获得答案。问题在于该IDP是一个黑匣子,我没有任何帮助。

进行一些调试后,我使用this工具检查了我的查询是否有效并且格式正确,并收到了此消息

  

无效的SAML AuthN请求。与saml-schema-protocol-2.0.xsd不匹配

但是他们没有更多细节,即使我检查saml protocol schema,也找不到此请求的问题所在:

de-DE

我是否错过了必填字段或一个值的格式不正确?

1 个答案:

答案 0 :(得分:1)

首先,您应该将Validate XML与XSD模式工具一起使用。当我这样做时,我得到了:

Line: 14 | Column: 0 --> Element '{urn:oasis:names:tc:SAML:2.0:protocol}NameIDPolicy': Character content is not allowed, because the content type is empty.

因此,我删除了标签</samlp:NameIDPolicy>,并关闭了您的NameIDPolicy,如下所示:

<samlp:AuthnRequest 
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
ID="_2e674db5054e407c30af" 
Version="2.0" 
IssueInstant="2019-05-10T09:39:52Z" 
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" 
AssertionConsumerServiceURL="https://my-sp.com/callback">
<saml:Issuer 
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">sp_name
</saml:Issuer>
<samlp:NameIDPolicy 
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
    Format="urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified" 
    AllowCreate="true" />
<samlp:RequestedAuthnContext 
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
    Comparison="exact">
    <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
    </saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext></samlp:AuthnRequest>

希望有帮助