2017-06-09 23 views
0

環境:Linux的/阿帕奇/ Shibboleth的SP 2.6Shibboleth的服務提供商 - 如何填充REMOTE_USER變量

我在尋找一些幫助的映射,我需要以填充REMOTE_USER變量做。我不知道我到底需要添加到attribute-map.xml文件才能實現這一目標。

在shibboleth2.xml文件,我們有..

<ApplicationDefaults entityID="https://tap-jmistst-rv02.usmstest.doj.gov/shibboleth" 
        REMOTE_USER="eppn persistent-id targeted-id" 
        cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2"> 

我不明白的是什麼,我需要把在屬性map.xml文件專門以地圖的價值NameID到REMOTE_USER

當我點擊我的應用程序URL時,它重定向到ADFS,然後我看到NameID在Shibboleth transaction.log中填充了我的用戶名。我試圖做的是讓REMOTE_USER設置爲該值。

任何幫助感激

回答

1

以上在ApplicationDefaults元件的REMOTE_USER屬性指示解碼的屬性的列表(按優先順序),所述SP將用於填充Apache的REMOTE_USER。

爲了與斷言填充NameID來填充這一點,你需要首先這個解碼成一個屬性(稱爲持久ID在這裏,但隨意改變它)與

<Attribute name="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" id="persistent-id"> 
    <AttributeDecoder xsi:type="NameIDAttributeDecoder" formatter="$NameQualifier!$SPNameQualifier!$Name" defaultQualifiers="true"/> 
</Attribute> 

,然後將其分配給REMOTE_USER與

REMOTE_USER="persistent-id" 

在你

<ApplicationDefaults> 
+0

感謝您的詳細回答雅尼斯,大加讚賞。這就是我認爲答案是,但它仍然不適合我。我會從上到下檢查我的配置,試圖找出爲什麼REMOTE_USER仍然沒有被填充。 –

+0

您可以嘗試以下操作: *使用FF [SAML Tracer](https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/)插件查看正在傳送的SAML響應到您的SP並驗證NameID是否存在於主題中 *檢查您的transaction.log以查看NameID是否映射到persistent-id(或者訪問https://YOURFQDN/Shibboleth.sso/Session *使用一個簡單的python/jsp/php腳本來打印apache頭文件並查看填充的內容 –

+0

再次感謝Yiannis,我感到沮喪並轉向mod_auth_mellon,但如果我沒有更好的運氣,我可能會回來。 –