2017-05-18 50 views
0

我剛剛學習Shibboleth SP,並遇到無法從我公司IdP收到的SAML響應中讀取NameID的問題。他們爲我配置的唯一「屬性」是在我們的AD中擁有用戶名的NameID。他們不會將它作爲屬性添加,而是添加到主題中。以下是包含NameID的SAML響應部分。Shibboleth SP - 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> 

如何提取此簡單值?我沒有在屬性map.xml中找到一個似乎符合法案的示例條目。

我正在使用IIS 8.5和ColdFusion。

+0

這看起來像'parsexml()'的工作。請參閱:https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-tz/xmlparse.html –

+0

我熟悉使用CF解析XML文檔(事實上,我在嘗試Shibboleth ),但我不認爲這是解決方案。 Shibboleth通過ISAPI過濾器攔截SAML響應,所以我不確定我能否在此之後獲得XML文檔。我應該可以添加一個項目到attribute-map.xml文件來檢索值。 – user3178586

+0

用我的解決方案更新了原始帖子。 – user3178586

回答

2

我終於得到了使用以下映射的屬性。就我而言,我用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> 
相關問題