是否可以在服务提供商中分配多个SLO响应URL?

时间:2020-07-21 15:37:12

标签: wso2 saml simplesamlphp single-logout

在我们的开发环境中,我们在应用程序中使用WSO2 Identity Server(版本5.9)和SAML2 SSO / SLO登录用户。

我们的开发包括单个应用程序的多个分支,这些分支都与WSO2中的单个服务提供商进行通信并验证用户身份。每个分支具有以下结构:

Branch 1
ACS URL: https://branch1-dev.company.com/login/saml2-acs.php/dev-sp
Logout Response URL: https://branch1-dev.company.com/saml2-logout.php/dev-sp

Branch 2
ACS URL: https://branch2-dev.company.com/login/saml2-acs.php/default-sp
Logout Response URL: https://branch2-dev.company.com/saml2-logout.php/dev-sp

WSO2中的服务提供者正在使用Signature Validation in Authentication Requests and Logout RequestsResponse Signing。登录功能按预期运行,登录声明被分派到每个分支的ACS URL,AuthnRequests按预期进行处理。

但是,根据文档,当我们在未定义SLO响应URL的情况下启用SLO(HTTP-POST)时,将SP发起的LogoutResponse后的LogoutRequest分派到当前没有的ACS URL无法处理LogoutResponses(我们正在为此使用SimpleSAMLphp,并且断言使用者服务不处理注销响应)。

如果我们将固定URL设置为SLO响应URL(例如https://branch2-dev.company.com/logout),则从分支1注销将重定向到分支2的注销URL,该URL无法正常工作。

我认为有3种解决方案:

  1. 在应用中修复ACS以处理LogoutResponses(在这种情况下,ACS和LogoutResponseURL本质上应该匹配)
  2. 在WSO2 Identity Server中为每个分支创建一个不同的服务提供商。
  3. 为每个LogoutRequest设置一个不同的注销响应使用者URL(不确定是否可以从规范以及如何在WSO2中进行配置)

是否可以以某种方式支持第三个选项?

0 个答案:

没有答案