点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在CF部署的CAP应用程序中,我正在使用两项服务。
其中一个没有限制,第二个确实需要管理员角色。 在SCP中,我确实创建了一个角色集合(并从我的应用程序中分配了角色)。 在sap.default信任配置中,我将角色集合分配给了我的用户。
当我在隐身窗口中打开应用程序时,系统会提示我登录SCP(SAP ID服务)。 成功登录后,我转到了我的应用程序,但问题是一项服务(要求管理员)说被禁止。
我最近在本地部署中使用approuter尝试了该应用程序,并(在控制台上)登录了 用户以及用户角色。 该过程与部署的应用程序相同(我登录到SCP,然后转发到该应用程序)。 令人惊讶的是,登录的用户始终是匿名的用户角色:undefined
此外,我曾经将第二项服务更改为所需的角色" authenticated-user"。 进行此更改后,我能够访问和使用第二个服务。
因此,我的问题是xsuaa服务与我的应用程序之间的映射是否可能无法正常工作?
您是否知道为什么会发生这种奇怪的行为?
是否可以跟踪JWT令牌,或者在SCP登录后可以使用哪些角色以及分配了哪些角色?
干杯,
索尔斯滕
(8.3 kB)
嗨,
不确定CDS的外观。
以防万一:
在CDS中,您需要编写完全限定的作用域名称。 使用已解析的XSAPPNAME变量
您可以手动(使用REST客户端)连接到xsuaa以获取JWT令牌(请参见此处),然后查看获得的令牌以查看其是否包含所需范围(使用 例如解码器网络工具)
干杯,卡洛斯(Carlos)
啊,当然。
我还发现,可以仅在cds文件中使用角色,然后在xs-security.json中使用变量" $ XSAPPNAME"。
这种方法看起来非常好,并且还使得在模拟数据和xsuaa服务之间切换非常容易(如果需要)。
添加一个小提示,以防万一可能需要:
使用REST客户端调用服务时,oauth流程为"密码凭证"或"所有者" 必须选择,而不是"客户端凭据"
示例应用程序中的代码 HTML5UserAPIforCF 显示如何阅读JWT。
一周热门 更多>