[英]How is the principal identified in the AuthnRequest for SAML 2.0 Web Browser SSO
我是SAML的新手,在完全理解完整的SAML2 SSO過程時遇到了一些麻煩。
具體來說,當服務提供者使用元素響應資源請求時,元素中的哪條數據標識要由身份提供者驗證的主體(即用戶)?
例如,在以下AuthnRequest中似乎沒有任何標識主體的內容:
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:21:59"
AssertionConsumerServiceIndex="0">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/></samlp:AuthnRequest>
在AuthnRequest到達瀏覽器后(可能來自cookie?),是否會添加標識主體的信息,或者標識特定用戶的信息是否完全不會發送給身份提供者?
規范在認證請求中說明如下(SAML配置文件, http ://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf,第4.1.4.1節):
請注意,服務提供者可以在請求中包含一個
<Subject>
元素,該元素命名它希望接收斷言的實際身份。
然而,這很少使用,並且在不同的供應商/堆棧中沒有廣泛實施,因此您的里程可能會有所不同 實際上有部署配置文件明確禁止使用<Subject>
,例如http://saml2int.org/profile/current/第8.2節說:
<saml2p:AuthnRequest>
消息<saml2:Subject>
包含<saml2:Subject>
元素。
通常的交互是服務提供商確定身份提供者而不是用戶。 后者留給身份提供者,包括身份識別和身份驗證。 這是一個更清晰的界面,可以避免兩者之間關於標識符和帳戶的潛在沖突。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.