Sap cloud platform SAP Cloud SDK与SAP Cloud security xsuaa集成之间的依赖关系冲突

Sap cloud platform SAP Cloud SDK与SAP Cloud security xsuaa集成之间的依赖关系冲突,sap-cloud-platform,sap-cloud-sdk,Sap Cloud Platform,Sap Cloud Sdk,我们正在尝试将SAP SpringBoot Starter XSUAA 2.7.8()与SAP CloudSDK for Java 3.32.0结合使用 CloudSDK依赖于xsuaa(java api、java安全、tokenclient、java安全测试)版本2.7.8的一部分,但不使用spring xsuaa。CloudSDK还依赖于SpringSecurity5.4.1。 当我们添加xsuaa spring boot starter时,我们的安全集成测试中断,在运行时,我们在应用程序的

我们正在尝试将SAP SpringBoot Starter XSUAA 2.7.8()与SAP CloudSDK for Java 3.32.0结合使用

CloudSDK依赖于xsuaa(java api、java安全、tokenclient、java安全测试)版本2.7.8的一部分,但不使用spring xsuaa。CloudSDK还依赖于SpringSecurity5.4.1。 当我们添加xsuaa spring boot starter时,我们的安全集成测试中断,在运行时,我们在应用程序的“rest api”端(rest控制器)遇到令牌验证错误。这似乎是因为xsuaa spring boot starter依赖于spring Security 5.3.4.0版本

我们得到的错误是:java.lang.NoSuchMethodError:'java.util.Map com.nimbusds.jose.Header.toJSONObject()。这是spring security 5.4.1()的一个已知问题。正如问题所述,spring安全旨在与springboot 2.4一起使用,而不是云sdk使用的2.3

我们无法解决这个问题。这可能是不同依赖关系的原因吗?如果是,有什么办法解决这些问题吗

谢谢


Danny

编辑:从版本
3.33.0
开始,SDK在默认情况下在中提供以下配置


您的观察是正确的,这是由不同的Spring安全版本引入的依赖冲突

如果您正在使用SDK BOM,则需要显式设置Spring安全版本,然后才能由SDK BOM进行设置:


org.springframework.security
spring-security-oauth2-jose
5.3.4.1发布
org.springframework.security
spring-security-oauth2-resource-server
5.3.4.1发布
com.sap.cloud.sdk
sdk bom
${sap.cloud.sdk.version}
聚甲醛
进口
org.springframework.boot
SpringBootStarterWeb
${spring boot.version}
com.sap.cloud.security.xsuaa
xsuaa弹簧启动机
${sap.cloud.security.version}
目前,在SpringBoot2.4发布之前,默认情况下SDK Spring原型将随此配置一起更新