使用HTTP重定向绑定的IdP发起注销请求后,SAML注销响应的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管理员并请求该信息。

注意:取决于SP实现,该绑定用于发送LogoutResponse。某些使用与IdP发送LogoutRequest相同的绑定,一些使用IdP元数据中定义的第一个绑定,而某些使用指定的绑定。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...