有来自两个不同系统的SAML身份验证请求 . 一个是成功的,另一个是失败的 .
我注意到失败者在14个标签中的13个中丢失了 xmlns:ds="http://www.w3.org/2000/09/xmldsig#" :
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" />
<ds:Reference URI="#_8dea83ff20a914b6aefd05b2ae61a4556e3e" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transforms xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" />
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" />
<ds:DigestValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Certificate xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
失败的请求仅在 ds:Signature 标记中具有此参数 .
-
我想知道是否没有此参数会使请求无效 .
-
SAML 2.0中是否需要此参数(xmlns = "urn:oasis:names:tc:SAML:2.0:protocol")?
1 回答
名称空间声明在顶级元素上已足够,因为它由子元素继承 . 在每个元素上声明它仍然有效,但这是不必要的 .
必须在签名标签或顶级元素之一上声明命名空间 .
验证断言时是否有特定的错误消息?