我正在将一些 SAML1 SSO 代码升级到 SAML2。差别不大,而且我的代码在与实际服务器具有相同配置(jrun/multiple deployments,CF7)的本地服务器上工作。
虽然我的代码在本地运行良好,但在服务器上却抛出了:元素“samlp:Response”的前缀“samlp”未绑定。我将有问题的页面剥离到那一行,这似乎是砖墙。我试过删除命名空间,但如果您知道 SAML,那么规范只是带有命名空间的 RIDDLED。
<cfscript>
xmlResponse = trim(form.SAMLResponse);
docElement= XmlParse(variables.xmlResponse);
</cfscript>
将 XML 剥离为重要的部分。这仍然给出了错误-
<samlp:Response ID="_74747ca7-7188-45c0-85a0-30177d868923"
Version="2.0"
IssueInstant="2013-03-21T11:26:59.320Z"
Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
>
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://test.com/trust</Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
</samlp:Status>
</samlp:Response>
我完全不知所措。有什么想法吗,伙计们?