CAP应用程序的目的地

2020-08-17 22:25发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) CAP专家们! 我开发了一个...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


CAP专家们!

我开发了一个可以通过浏览器正常运行的CAP应用程序。 它包含db,srv,app和approuter模块。 我的服务用@注释(需要:"已验证用户")。

一旦部署到cf,则通过调用approuter要求我登录,然后将我重定向到服务。 因此它可以按预期工作。

从SAP移动卡调用服务时,我的问题开始了。 我的移动服务服务也在Cloud Foundry上运行。

我在移动服务(SAP移动卡/功能/移动连接)中创建了一个指向我的approuter URL的目的地,并选中了sso机制"转发身份验证"和"将用户令牌转发给AppRouter"。 如 https://help.sap.com/viewer/ 468990a67780424a9e66eb096d4345bb/Cloud/zh-CN/c5896a6238ae4f11a4f0d37d483340f0.html

"当为端点配置了转发身份验证SSO机制时,将出现将用户令牌转发到AppRouter复选框。选中该复选框以启用。启用后,用户令牌将作为x-转发到app-router应用程序 approuter-authorization标头。"

正如预期的那样,在移动卡应用程序集上刷新时,我在approuter中的标题x-approuter-authorization中收到了JWT,并且该请求已转发到服务层,但是我总是收到401错误。 该错误带有注释@(requires:'authenticated-user'),因为如果删除该错误,该错误就会消失。 因此,看来approuter收到了jwt,但是服务层不知道如何正确管理它。

有什么建议吗? 我应该在目的地中使用其他sso类型吗?

提前谢谢!

4条回答
一只江湖小虾
2020-08-17 22:43

嗨, Marc Mauri

是的,它在同一个子帐户中。 我能够使其与Node.js一起使用。 我缺少参数"?auth = uaa"。

但是该解决方案不适用于JAVA,SAP确认:

" Approuter不接受通过Authorization标头解析J​​WT令牌,因此移动服务引入了一个复选框,并通过特殊标头将JWT令牌传递给approuter。
像spring-boot这样的Java应用程序始终对JWT使用Authorization标头 令牌(OAuth令牌),因此您不应选中该复选框。"

薛小明提供的第二种解决方案" OAuth2用户令牌交换" 此主题应该适用于JAVA,因为 很好,但目前不适用于试用帐户。 SAP已经对其进行了修复,它将在下一个版本中发布。 所以希望它对我有用。...然后我给你更新。

最诚挚的问候,

Chris

一周热门 更多>