我使用的是Spring Boot v2.3.3。
我正试图通过使用在v5.2中添加到spring的saml支持,将SSO支持添加到我的应用程序中:(https://docs.spring.io/spring-security/site/docs/5.2.1.RELEASE/reference/htmlsingle/#saml2)
我对Spring和SAML是相当陌生的,虽然该参考页面提到当前的特性集";支持加密的NameId元素";,我不知道如何配置应用程序以添加名称ID格式,也不知道如何将名称ID发送到身份提供程序。
我在这里复制了Spring Boot示例应用程序(https://github.com/spring-projects/spring-security/tree/5.3.x/samples/boot/saml2login),但我的IDP说他们也需要一个nameID。
如果您能帮助我理解我需要补充的内容,我们将不胜感激。
在使用基于代码的配置时,可以使用
@Bean
public WebSSOProfileOptions defaultWebSSOProfileOptions() {
WebSSOProfileOptions webSSOProfileOptions = new WebSSOProfileOptions();
// do not enable IdP-Proxy support
webSSOProfileOptions.setIncludeScoping(false);
webSSOProfileOptions.setNameID(NameIDType.TRANSIENT);
return webSSOProfileOptions;
}
然而,通常IdP在IdP元数据文件中定义它支持的NameID格式。Spring Security SAML将使用指定的第一个NameID格式。你可以重新订购。