我正在实施 IDP 发起的 SAML 身份验证握手。我发现 AssertionConsumerService Location 必须与身份验证请求 URL 匹配。例如:
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://10.193.204.21/ibi_apps/saml/SSO/alias/defaultWFAlias" index="0" isDefault="true"/>
在大多数情况下,这很好,因为服务提供者有一个静态主机名。但是,我们在虚拟机上进行开发,每个虚拟机在签出时都分配了一个 IP 地址。因此,在签出 VM 之前,IP 地址是未知的。这要求每个开发者编辑 SP 元数据文件并更改 AssertionConsumerService 位置。我们想避免这个手动步骤。
在这种情况下,服务提供者是 WebFocus,它使用的是 spring-security-saml2-core-1.0.0.RC3-SNAPSHOT。
是否可以配置 Spring 安全性以便在我们的开发环境中不需要 AssertionConsumerService?或者是否有任何其他建议可以使用动态 AssertionConsumerService 位置支持这种类型的环境?