Windows-Server-2016
SAML 身份驗證請求具有無法滿足的 NameID 策略。
我將發行政策用作:
規則1:
規則 2(自定義):
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:transient", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "https://fs.hhres.com/adfs/services/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "sp_test");
當我嘗試登錄時,它給了我錯誤(來自事件查看器)-
SAML 身份驗證請求具有無法滿足的 NameID 策略。
請求者:BambooHR-SAML
名稱標識符格式:urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress SPNameQualifier:
異常詳細資訊:MSIS7070:SAML 請求包含已頒發令牌不滿足的 NameIDPolicy。請求的 NameIDPolicy: AllowCreate: True 格式: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress SPNameQualifier: . 實際 NameID 屬性:格式:urn:oasis:names:tc:SAML:2.0:nameid-format:transient,NameQualifier: https://adfs_url/adfs/services/trust SPNameQualifier:sp_test,SPProvidedId:。
此請求失敗。
使用者操作 使用 AD FS 管理管理單元配置發出所需名稱標識符的配置。
有人可以解釋我做錯了什麼以及需要做什麼嗎?
我通過更改線路解決了這個問題-
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
進入
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
它需要一個 NameID 格式的 emailAddress 並且您正在提供一個瞬態。
最簡單的方法是通過轉換規則。
將電子郵件轉換為 NameID 並從下拉列表中選擇電子郵件格式。