我们使用S4SDK来访问目标服务。它需要在多租户环境中工作。正常情况下,如果应用程序是前端应用程序,则请求上下文由用户请求触发。使用approuter和XUAA可以访问多租户的目标服务。在我们的例子中,我们的应用程序位于RabbitMQ之后,而不是由用户请求(例如REST API调用)触发的。目前我们使用的是cloud SDK中的com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor类。我们可以从消息(RabbitMQ/AMQP)中检索租户id。问题是,我们无法找到一种方法来将租户id注入到DestinationAccessor中,或者从S4SDK中克隆JWT令牌。我们寻找如何实现这一目标的方法/指导。我们期望此交换/克隆令牌由SDK提供。
发布于 2019-05-30 03:26:26
您应该能够使用JwtBasedRequestContextExecutor来实现此目的。
new JwtBasedRequestContextExecutor()
.withJwt(encodedJwt)
.execute(() -> {
// code using the SAP Cloud SDK
});https://stackoverflow.com/questions/56366616
复制相似问题