在 SP 发起的 saml 流中,SAMLResponse 中的“InResponseTo”在哪里需要?
Where is `InResponseTo` required in the SAMLResponse in an SP-initiated saml flow?
阅读 SAML core documentation 我无法弄清楚在 SP 启动的 SAML2.0 Post 重定向流中哪里需要 InResponseTo
(如果有的话)。
文档规定 InResponseTo
在 SubjectConfirmationData
中是可选的。文档对 InResponseTo
是否应该成为 Response
标签的一部分保持沉默,尽管我的经验是在实践中它几乎总是存在(我怀疑 InResponseTo
在Response
包含在我找不到的其他 SAML 文档中)。如果 InResponseTo
值进入 Response
标签或 SubjectConfirmationData
(甚至其他地方),IdP 可以自由决定吗?
(为避免疑义,我理解 InResponseTo
不是 IdP 发起的响应中 SAMLResponse
的一部分。)
它在响应消息中是可选的,因为 SAML 允许 IdP 在没有 SP 请求的情况下向 SP 发送未经请求的响应。在 AuthnRequest 的 3.2.1 下,它声明 InResponseTo
必须与 AuthnRequest 中的 ID 匹配。
更重要的是。当您使用 Web 浏览器 SSO 的请求和响应时,您正在使用 SAML Profiles spec.
中的 Web 浏览器 SSO 配置文件
配置文件增加了关于如何使用请求和响应的额外要求。
4.1.4.2 <Response> Usage
州
If the containing message is in response to an ,
then the InResponseTo attribute MUST match the request's ID.
4.1.4.3 <Response> Message Processing Rules
州
Verify that the InResponseTo attribute in the bearer equals the ID
of its original message, unless the response is unsolicited (see Section 4.1.5 ), in
which case the attribute MUST NOT be present
SAML 配置文件规范在核心规范中添加了很多关于协议消息使用上下文的重要要求,这对于互操作性和安全性非常重要。
SAML core documentation 部分 3.2.2 复杂类型 StatusResponseType.
下的 InResponseTo
有明确的文档可用
<Response>
消息元素具有复杂类型 ResponseType,它扩展了 StatusResponseType。检查第 3.3.3 节
InResponseTo [Optional] A reference to the identifier of the request
to which the response corresponds, if any. If the response is not
generated in response to a request, or if the ID attribute value of a
request cannot be determined (for example, the request is malformed),
then this attribute MUST NOT be present. Otherwise, it MUST be present
and its value MUST match the value of the corresponding request's ID
attribute.
阅读 SAML core documentation 我无法弄清楚在 SP 启动的 SAML2.0 Post 重定向流中哪里需要 InResponseTo
(如果有的话)。
文档规定 InResponseTo
在 SubjectConfirmationData
中是可选的。文档对 InResponseTo
是否应该成为 Response
标签的一部分保持沉默,尽管我的经验是在实践中它几乎总是存在(我怀疑 InResponseTo
在Response
包含在我找不到的其他 SAML 文档中)。如果 InResponseTo
值进入 Response
标签或 SubjectConfirmationData
(甚至其他地方),IdP 可以自由决定吗?
(为避免疑义,我理解 InResponseTo
不是 IdP 发起的响应中 SAMLResponse
的一部分。)
它在响应消息中是可选的,因为 SAML 允许 IdP 在没有 SP 请求的情况下向 SP 发送未经请求的响应。在 AuthnRequest 的 3.2.1 下,它声明 InResponseTo
必须与 AuthnRequest 中的 ID 匹配。
更重要的是。当您使用 Web 浏览器 SSO 的请求和响应时,您正在使用 SAML Profiles spec.
中的 Web 浏览器 SSO 配置文件配置文件增加了关于如何使用请求和响应的额外要求。
4.1.4.2 <Response> Usage
州
If the containing message is in response to an , then the InResponseTo attribute MUST match the request's ID.
4.1.4.3 <Response> Message Processing Rules
州
Verify that the InResponseTo attribute in the bearer equals the ID of its original message, unless the response is unsolicited (see Section 4.1.5 ), in which case the attribute MUST NOT be present
SAML 配置文件规范在核心规范中添加了很多关于协议消息使用上下文的重要要求,这对于互操作性和安全性非常重要。
SAML core documentation 部分 3.2.2 复杂类型 StatusResponseType.
下的InResponseTo
有明确的文档可用
<Response>
消息元素具有复杂类型 ResponseType,它扩展了 StatusResponseType。检查第 3.3.3 节
InResponseTo [Optional] A reference to the identifier of the request to which the response corresponds, if any. If the response is not generated in response to a request, or if the ID attribute value of a request cannot be determined (for example, the request is malformed), then this attribute MUST NOT be present. Otherwise, it MUST be present and its value MUST match the value of the corresponding request's ID attribute.