如何在Spring Security SAML 5.6.中禁用签名验证



我目前正在从旧的不推荐使用的Spring Security SAML Extension 1.0.10迁移到Spring Security 5.6.中的SAML实现。

在旧的扩展中,可以禁用SAML响应的签名验证(Spring Security SAML扩展文档中的属性wantAssertionSigned(。这在测试过程中对我很有帮助。

我想知道这在Spring Security中是否也可行?


我在源代码中搜索,发现了类OpenSamlMetadataResolver,在我看来,这是硬编码的,不能更改:

private SPSSODescriptor buildSpSsoDescriptor(RelyingPartyRegistration registration) {
SPSSODescriptor spSsoDescriptor = build(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
(...)
spSsoDescriptor.setWantAssertionsSigned(true);
(...)
return spSsoDescriptor;
}

此外,OpenSaml4AuthenticationProvider中的代码似乎没有提供一种简单的方法来配置私有变量assertionSignatureValidator以覆盖验证行为。

感谢您的帮助。

在将于2022年5月16日星期一发布的Spring Security 5.7.0中,删除了硬编码行。因此,默认情况下不再进行签名验证。

如果你愿意,你也可以自定义EntityDescriptor,比如

openSamlMetadataResolver.setEntityDescriptorCustomizer(
(parameters) -> parameters.getEntityDescriptor().setEntityID("overriddenEntityId"));

你总是可以在GA之前尝试里程碑发布。

相关内容

  • 没有找到相关文章

最新更新