在 IdP 使用 HTTP 重定向绑定发起注销请求后,用于 SAML 注销响应的 IdP 端点
IdP endpoint for SAML logout response after an IdP initiated logout request using HTTP redirect binding
作为服务提供商,当我们收到来自 IdP 的 HTTP 重定向注销请求时,文档指出我们应该执行以下操作:
验证注销请求 > 使用户会话无效 > 将注销响应发送回身份提供者。
我们将注销响应重定向回哪个端点?我原以为这将是注销请求的一部分,但事实并非如此。仅仅是 IdP 单点注销 URL 吗?
通常,IdP 元数据的 IDPSSODescriptor
为每个支持的协议绑定定义 SingleLogoutService
。
例如摘自 SSOCicrle)
的 IdP 元数据
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp.ssocircle.com:443/sso/IDPSloRedirect/metaAlias/publicidp" ResponseLocation="https://idp.ssocircle.com:443/sso/IDPSloRedirect/metaAlias/publicidp"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://idp.ssocircle.com:443/sso/IDPSloPost/metaAlias/publicidp" ResponseLocation="https://idp.ssocircle.com:443/sso/IDPSloPost/metaAlias/publicidp"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp.ssocircle.com:443/sso/IDPSloSoap/metaAlias/publicidp"/>
如果您没有收到 IdP 元数据,您需要联系 IdP 管理员并请求该信息。
注意:这取决于使用哪个绑定发送 LogoutResponse 的 SP 实现。一些使用 IdP 发送 LogoutRequest 时使用的相同绑定,一些使用 IdP 元数据中定义的第一个绑定,一些使用指定的绑定。
作为服务提供商,当我们收到来自 IdP 的 HTTP 重定向注销请求时,文档指出我们应该执行以下操作:
验证注销请求 > 使用户会话无效 > 将注销响应发送回身份提供者。
我们将注销响应重定向回哪个端点?我原以为这将是注销请求的一部分,但事实并非如此。仅仅是 IdP 单点注销 URL 吗?
通常,IdP 元数据的 IDPSSODescriptor
为每个支持的协议绑定定义 SingleLogoutService
。
例如摘自 SSOCicrle)
的 IdP 元数据<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp.ssocircle.com:443/sso/IDPSloRedirect/metaAlias/publicidp" ResponseLocation="https://idp.ssocircle.com:443/sso/IDPSloRedirect/metaAlias/publicidp"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://idp.ssocircle.com:443/sso/IDPSloPost/metaAlias/publicidp" ResponseLocation="https://idp.ssocircle.com:443/sso/IDPSloPost/metaAlias/publicidp"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp.ssocircle.com:443/sso/IDPSloSoap/metaAlias/publicidp"/>
如果您没有收到 IdP 元数据,您需要联系 IdP 管理员并请求该信息。
注意:这取决于使用哪个绑定发送 LogoutResponse 的 SP 实现。一些使用 IdP 发送 LogoutRequest 时使用的相同绑定,一些使用 IdP 元数据中定义的第一个绑定,一些使用指定的绑定。