2016-06-27 99 views
0

我無法讓ADFS向我的應用發送聲明。身份驗證現在已成功完成,但我們在規則中設置的所有聲明都沒有與響應一起發送。我按這個順序有兩條規則。聲明規則引用ADFS中的先前聲明?

在第一條規則中,我的理解是types部分是我的應用程序期望ADFS輸出的任何內容,並且不需要與LDAP值相對應。真正重要的是query,它必須引用有效的LDAP屬性。我確信query值是有效的LDAP屬性,因爲另一個工作的依賴方配置使用這些相同的查詢值(但它們使用types中的不同值進行輸出)。

在第二條規則中,我引用了Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"。這不是LDAP中的類型,而是對第一條規則中創建的聲明的引用。我做得對嗎? 第二條規則是否可以引用第一條規則的輸出類型?

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] 
=> issue(store = "Active Directory", types = 
("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", 
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", 
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", 
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"), 
query = ";givenName,sn,mail,employeeI;{0}", param = c.Value); 

第二條規則

c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"] 
=> 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:2.0:nameid-format:persistent", 
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "http://somedomain.com/adfs/services/trust", 
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "https://someapp.somedomain.com/sp"); 

此外,沒有任何理由ADFS如果依賴方不設置與加密的證書也不會派索賠(它使用的是IDP證書生成簽名/驗證)?

回答