点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们的要求是在SAPUI5应用程序中显示已登录的用户信息。 在我们的测试过程中,neo-app.json文件中的以下路由在NEO环境中都运行良好:
{ " path":"/img/services/userapi", "目标":{ " type":"服务", "名称":" userapi" }, },
当应用程序在CF环境中运行时,找不到Userapi服务。 我们不知道要在xs-app文件中添加什么才能使相同的功能正常工作?
在这里希望有人可以帮助我们前进。
谢谢
Rob
Rob,
Cloud Foundry环境中没有userapi。 有人会说您也许可以使用与座舱相同的ajax调用,但这不是公共API。 因此,您不能依赖它,因为SAP保留更改其行为的权利,恕不另行通知。
由于App Router将与XSUAA服务进行通信,以确定用户登录过程以生成JWT令牌 (其中包含已登录的用户),它将不是检索用户信息的正确位置。 JWT令牌本身可以用于此目的。 您可能会想到使用Spring的JwtHelper类,该类包含一个encode()方法来读取其内容并将其提供给html5应用程序。
但是,如果您使用的是Spring Boot。 SAP在以下库中已经具有用于该目的的Java API:
您可以像这样使用它:
另一种检索方法 此类信息是通过调用安全性上下文并将其转换为令牌格式,如下所示:
如果您使用的是能够在CF或Neo上运行的SAP Cloud Platform SDK原型,它甚至可以更好地解释它,甚至更好:
如果您想解码JWT,请检查com.sap.cloud.sdk.cloudplatform.security包中的AuthTokenAccessor类(仅适用于Cloud SDK项目):< /p>
可以找到显示如何解码JWT令牌和使用UserAccessor类的示例。此处。 p>
最诚挚的问候,
Ivan
嗨,Rob
HTML存储库与您的问题无关。 AppRouter是一个NodeJS应用程序,可实现安全功能并与分配的XSUAA服务实例集成。 它充当您的前端应用程序及其所有基础微服务的入口。
要将AppRouter添加到现有MTA,您需要做的就是向其中添加html5模块。
请注意,MTA内的html5模块实际上是一个 节点应用程序,它包含到webapp文件夹的默认路由-因此您可以加载构成html5应用程序的html,js和其他html5文件。
看看位于以下位置的package.json文件 模块的根目录,您将看到它包含对AppRouter的依赖关系,并通过向其发出节点启动命令来启动AppRouter应用程序:
您还可以通过添加NodeJS模块来实现相同目的。 但这会要求您手动添加依赖项并通过更改package.js文件来启动approuter程序。
最好的问候,
Ivan
CF Users API 可以在这里找到: https://apidocs.cloudfoundry.org/12.24.0/
XSUAA用户API文档: https://docs.cloudfoundry.org/api/ uaa/version/74.4.0/index.html#users
一周热门 更多>