Coldfusion Shibboleth SP-NameID属性映射

Coldfusion Shibboleth SP-NameID属性映射,coldfusion,saml,iis-8,shibboleth,Coldfusion,Saml,Iis 8,Shibboleth,我正在学习Shibboleth SP,我遇到了一个问题,我无法从公司IdP收到的SAML响应中读取NameID。他们为我配置的唯一“属性”是在我们的广告中保存用户名的NameID。他们没有将其作为属性添加,而是添加到主题中。下面是SAML响应中包含NameID的部分 <Subject> <NameID>XXXXXX</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:

我正在学习Shibboleth SP,我遇到了一个问题,我无法从公司IdP收到的SAML响应中读取NameID。他们为我配置的唯一“属性”是在我们的广告中保存用户名的NameID。他们没有将其作为属性添加,而是添加到主题中。下面是SAML响应中包含NameID的部分

<Subject>
    <NameID>XXXXXX</NameID>
    <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <SubjectConfirmationData InResponseTo="_cbedab7210959e0d00294c557c648eb5"
                                     NotOnOrAfter="2017-05-18T21:15:24.776Z"
                                     Recipient="https://xxxxxx.com/Shibboleth.sso/SAML2/POST"
                                     />
    </SubjectConfirmation>
</Subject>

XXXXXX
如何提取这个简单值?我在attribute-map.xml中没有找到一个符合要求的示例条目


我使用的是IIS 8.5和ColdFusion。

我最终使用以下命令获得了要映射的属性。在我的例子中,我用SAML2替换了SAML:1.1。我假设NameID是SAML:1.1规范的一部分

<Attribute name="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" id="NameID">
    <AttributeDecoder xsi:type="NameIDAttributeDecoder" formatter="$Name" defaultQualifiers="true"/>
</Attribute>

我最终使用以下命令获得了要映射的属性。在我的例子中,我用SAML2替换了SAML:1.1。我假设NameID是SAML:1.1规范的一部分

<Attribute name="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" id="NameID">
    <AttributeDecoder xsi:type="NameIDAttributeDecoder" formatter="$Name" defaultQualifiers="true"/>
</Attribute>


这看起来像是
parsexml()
的作业。请参阅:我熟悉使用CF解析XML文档(事实上,我在尝试Shibboleth之前就已经这样做了),但我认为这不是这里的解决方案。Shibboleth通过ISAPI过滤器截取SAML响应,因此我甚至不确定在此之后是否可以获取XML文档。我应该能够向attribute-map.xml文件中添加一个项目来检索该值。使用我的解决方案更新了原始帖子。FYI-回滚到原始版本,因为解决方案已移动到“答案”。这看起来像是
parsexml()
的作业。请参阅:我熟悉使用CF解析XML文档(事实上,我在尝试Shibboleth之前就已经这样做了),但我认为这不是这里的解决方案。Shibboleth通过ISAPI过滤器截取SAML响应,因此我甚至不确定在此之后是否可以获取XML文档。我应该能够在attribute-map.xml文件中添加一个项目来检索值。使用my solution.FYI更新原始帖子-回滚到原始版本,因为解决方案已移动到“答案”。