Windows-Server-2016

SAML 身份驗證請求具有無法滿足的 NameID 策略。

  • December 11, 2019

我將發行政策用作:

規則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 並從下拉列表中選擇電子郵件格式。

引用自:https://serverfault.com/questions/920323