Java Spring Security从2.1.0开始->;2.5.0 SAML-许多反对意见

Java Spring Security从2.1.0开始->;2.5.0 SAML-许多反对意见,java,spring,spring-security,Java,Spring,Spring Security,关于Spring Security 2.5.0的小问题 以前在2.1.0版本有一个Spring Boot+Spring安全项目 现在我进行了升级,升级到Spring Boot 2.5.0+Spring-security-saml2-service-provider 5.5.0 业务逻辑工作正常,我们使用它进行SAML身份验证,没有问题 我们得到的一个片段是: //local signing (and decryption key) Saml2X509Credential si

关于Spring Security 2.5.0的小问题

以前在2.1.0版本有一个Spring Boot+Spring安全项目

现在我进行了升级,升级到Spring Boot 2.5.0+Spring-security-saml2-service-provider 5.5.0

业务逻辑工作正常,我们使用它进行SAML身份验证,没有问题

我们得到的一个片段是:

  //local signing (and decryption key)
        Saml2X509Credential signingCredential = getSigningCredential();
        //IDP certificate for verification of incoming messages
        Saml2X509Credential idpVerificationCertificate = getVerificationCertificate();
        String acsUrlTemplate = "{baseUrl}" + Saml2WebSsoAuthenticationFilter.DEFAULT_FILTER_PROCESSES_URI;
        return RelyingPartyRegistration.withRegistrationId(registrationId)
                .remoteIdpEntityId(idpEntityId)
                .idpWebSsoUrl(webSsoEndpoint)
                .credentials(c -> c.add(signingCredential))
                .credentials(c -> c.add(idpVerificationCertificate))
                .localEntityIdTemplate(localEntityIdTemplate)
                .assertionConsumerServiceUrlTemplate(acsUrlTemplate)
                .build();
同样,它工作得很好

我们将该项目升级到了最新的(截至撰写本文时)2.5.0版本,并且在代码段的大部分行中都看到了不推荐的内容

尝试查看SpringSecurity5.5.0,建议改用assertionConsumerServiceLocation

但我很难理解,什么是字符串取代一切

return RelyingPartyRegistration.withRegistrationId(registrationId).assertionConsumerServiceLocation("what comes here?").build();


有什么帮助吗?

这些不推荐的动机是我们应该在
RelyingPartyRegistration
中使用

对约定进行了更改,以便更好地遵循注册要表示的元数据描述符

例如,RelyingPartyRegistration.ProviderDetails包含一个名为GetWebSourl的方法,但它不容易映射到IDPSSODescriptor中的任何内容。将其命名为getSingleSignOnServiceLocation会更清晰,因为此信息位于中

您可以在方法的javadoc中看到应该使用什么。像这样:

/**
*@不推荐使用{@link#assertionConsumerServiceLocation}。
*/
@不赞成
公共生成器assertionConsumerServiceUrlTemplate(字符串assertionConsumerServiceUrlTemplate){
this.assertionConsumerServiceLocation=assertionConsumerServiceUrlTemplate;
归还这个;
}

或者打开。

我怀疑您升级了Spring Boot而不是Spring Security。Spring Security具有不同的版本控制方案。不推荐使用的内容通常在javadoc中有替换,而不是在参考指南中。