点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) CAP专家们! 我开发了一个...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) CAP专家们! 我开发了一个...
加入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类型吗?
提前谢谢!
也就是说,CAP应用程序的xsuaa不信任生成JWT的ClientId。 我们可以通过以下方式在yaml文件中将SAP_JWT_TRUST_ACL属性添加到approuter来解决此问题:
使用上述方法,错误消失并且请求到达服务层。
问题解决了吗? 没门。 如果我们再试一次,现在是服务层以401进行响应,但是在这种情况下,没有其他消息可指导我们实现该解决方案。 这是当您怀疑CAP应用程序正常工作时,但是不,这与approuter中的原因完全相同。 将属性SAP_JWT_TRUST_ACL属性添加到srv模块中,即可使用。
我希望这可以帮助某人。
最诚挚的问候,
Marc
一周热门 更多>