我知道SAML如何用於單點登錄(SSO)。也就是說,從SP重定向到IDP並從SAML響應/斷言獲取用戶身份。SAML 2.0密碼驗證
我的問題是 - SAML 2.0規範是否定義如何將用戶名和密碼作爲SAML請求xml的一部分進行身份驗證?請注意,我不是在談論單一登錄,只是想要驗證用戶名/密碼。
謝謝,
我知道SAML如何用於單點登錄(SSO)。也就是說,從SP重定向到IDP並從SAML響應/斷言獲取用戶身份。SAML 2.0密碼驗證
我的問題是 - SAML 2.0規範是否定義如何將用戶名和密碼作爲SAML請求xml的一部分進行身份驗證?請注意,我不是在談論單一登錄,只是想要驗證用戶名/密碼。
謝謝,
SAML標準支持傳遞一個用戶標識符在<AuthnRequest>
(用於認證即請求)的<saml:Subject>
字段。
然而,作爲AuthnRequest
的一部分,沒有內置的密碼支持。恕我直言,這樣做違背了SAML2的原則,因爲它期望Idp在驗證時只使用密碼。通常,Idp可以使用它認爲合適的任何方式來確認主體的身份。這可能是一個密碼,但也可以通過SMS進行證書或一次性墊子交換。或者別的什麼 - 這取決於Idp。
也就是說,<AuthnRequest>
中有一個<Extensions>
元素可用於攜帶密碼。這樣做需要仔細考慮安全因素,因爲AuthnRequest
內容不是爲了保密而設計的。如果使用Http Redirect綁定,則內容將記錄在Web服務器中,並在瀏覽器歷史記錄中可見。如果使用Http POST綁定,則瀏覽器仍然可以看到密碼。我建議使用SOAP或Artifact綁定來確保數據直接從SP傳輸到Idp。但請注意,這些綁定在框架中的支持相當少。
這就是我的想法。謝謝你澄清。如果我們使用來傳遞用戶名和密碼,除了您提到的安全問題之外,我認爲還需要構建IDP才能使用該信息,對不對? –
ksrini
是的,當然需要建立Idp來理解這個擴展。 –
@ksrini - 你不應該這樣交叉發表......但你可以在這裏看到我的答案:http://security.stackexchange.com/questions/126300/does-saml-2-0-define-how- to-pass-username-and-password-for-authentication。基本上,你問的是更適合WS-Trust/STS ......沒有任何商業標識提供商會支持使用''作爲入站密碼 - 即使通過SOAP/Artifact ...''從來沒有意在支持它。 –