我想配置的Windows Server 2012 R2的ADFS 3.0發送NameID
到Shibboleth的2.6 SAML 2.0 SP,但我不斷獲取這些錯誤:從ADFS 3.0獲得索賠,並顯示給在SAML的Shibboleth 2.6服務提供商(SP)2.0
2016-11-15 10:07:07 WARN Shibboleth.AttributeResolver.Query [1]: can't attempt attribute query, either no NameID or no metadata to use
2016-11-15 10:07:07 INFO Shibboleth.SessionCache [1]: new session created: ID (_7e425978e43bc32c86393f518b26eb3e) IdP (https://c-adfs01.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml) Protocol(urn:oasis:names:tc:SAML:2.0:protocol) Address (192.168.50.131)
我明白,這事做關於從ADFS IDP傳遞NameID
屬性和顯示nameID
在Shibboleth的SAML 2.0 SP。
我也看到了,你需要設置一個規則,ADFS IDP傳遞Email Address
,和改造Email address
成爲NameID
。我已經做到了,並有下列規則:
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"]
=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress");
不過,我觀察到的配置似乎只與SAML 1.0兼容,而不是2.0(也許)。
所以,我繼續添加名稱屬性。我嘗試了transient
,persistent
和emailAddress
,並嘗試使用SAML 1.0
和SAML 2.0
配置。
<Attribute name="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" id="NameID"/>
<Attribute name="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" id="NameID"/>
<Attribute name="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" id="NameID"/>
問:
所以,要我應用程序會話時是什麼配置ADFS IDP到NameID
發送到的Shibboleth SP並顯示會話屬性的正確方法頁面?
具體而言,我應該期待Claim Rules
的正確輸出是什麼?以及Shibboleth attribute-map.xml
的XML配置應該如何?
https://c-app01.contoso.com/Shibboleth.sso/Session