MSIS9642的根本原因在於ADFS 2016中新的OpenID Connect應用程序組功能需要向您的應用程序發出訪問令牌。該令牌必須包含用戶身份。爲了發佈令牌,子系統必須瞭解哪個要求入境索賠用於唯一標識的用戶。
稱爲的新屬性AnchorClaimType已添加到Claim Provider Trust模型中。
當ADFS首次安裝它註冊一個內置的聲明提供信託AD AUTHORITY並設置值AnchorClaimType到
FOO://schemas.microsoft.com/ws/2008/06/identity /索賠/ windowsaccountname
您可以使用PowerShell命令得到-adfsclaimsprovidertrust看到這一點。
這就是OpenID針對Active Directory進行身份驗證時工作的原因。
當您創建新的Claim Provider Trust時,系統不會設置AnchorClaimType。 OpenID系統不能發出令牌,因爲它不知道哪個入站聲明構成了唯一的用戶身份。這就是爲什麼在對外部Claim Provider信任進行身份驗證時OpenID不起作用的原因。
爲了解決這個問題,你需要採取一些措施:
一)驗證您正在運行的Windows Server 2016 RTM不幸的是,PowerShell的屬性來設置AnchorClaimType並不在CTP存在,該屬性不能使用UI進行設置。
b)從代表用戶身份的入站令牌中選擇一項聲明,並標識聲明類型。在我們的情況下,我們正在聯合Azure Active Directory並選擇名稱,類型爲foo://schemas.xmlsoap。組織/ WS/2005/05 /同一性/權利要求/ 名稱
c)設置的AnchorTypeClaim用於聲明提供信託通過使用的powershell
設定adfsclaimsprovidertrust選擇的類型-targetidentifier 標識符 -AnchorClaimType http://schemas.xmlsoap.org/ws/2005/05/identity/claims/名稱
(從得到的powershell-adfsclaimsprovidertrust得到標識符)
d)至少創建一個入站規則,通過對主輸入聲明的價值,在我們的案例名稱
希望這有助於
我不得不使用FOO ://而不是http://內容被解釋爲鏈接... –