Single-Sign-On

Azure AD SAML2 SSO NameID 格式錯誤

  • June 21, 2018

我正在嘗試將 SaaS 應用程序與自治(未與任何東西聯合)Azure Active Directory 集成以實現 SSO 目的。SaaS 應用程序(服務提供商)符合 SAML2(由 SP 發起),因此應該可以。但是,在 SAMLRequest 中,SP 指定

<samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" />

當 AAD 應答時,NameID 的格式為urn:oasis:names:tc:SAML:2.0:nameid-format:persistent.

很奇怪:MSDN上的文件,“AuthnRequest 中的 NameIDPolicy 元素”段落將“未指定”列為可能的請求格式……

由於 SaaS 應用程序期望“未指定”而不是“持久”,因此它失敗了。

有人知道用 Azure AD 獲取“未指定”格式的方法嗎?

在這個文件中,他們有一個警告:

Azure AD 目前支持 SAML 2.0 的以下 NameID 格式 URI:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent。

這是含糊的,但我認為這意味著他們支持的一切。

我們剛剛進行了一些調查並了解到,如果您對 NameID 進行一些字元串操作,那麼 AAD 會將格式更改為“未指定”。

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