随着云计算的发展趋势,我们有必要将现有的NEO应用程序迁移到sapcloudfoundry(CF)中,或者在其中开发新的应用程序。在这样做的过程中,我们遇到了许多需要获取登录用户详细信息的场景。
在SAP NEO环境中,我们可以使用UserInfo服务获取登录用户的详细信息,这在其他博客中有很好的记录。谈到SAP CF,我们需要使用一些微服务来获得细节。
在这篇博文中,大数据解决方案,我将逐步解释如何在CF环境中使用SAP Web IDE将登录的用户电子邮件提取到SAPUI5应用程序中。
您应该知道:
SAP Cloud Foundry环境-什么是组织、空间、子帐户。基本了解Node的工作原理应用路由器、XSUAA服务的概念。
您需要:
一个有效的SAP云平台帐户。SAP Web IDE开发应用程序
应用程序使用以下顺序进行身份验证。
我们开始:
它创建应用程序路由器、应用程序部署器和mta.yaml公司在您的工作区中归档。
应用程序路由器–对于任何应用程序,大数据分析应用,它是与CF上可用的任何服务进行对话的中心入口点。它是一个节点JS库,可以支持静态内容或链接到web应用程序。在运行时,它负责与应用程序和服务交互。
UI Deployer–它负责将HTML5模块内容上载到HTML5应用程序存储库。
Mta.yaml公司–它是Web IDE和MTA Archive Builder工具使用的开发描述符文件。
它将节点模块添加到您的项目中,通过XSUAA服务进行认证,接收JWT令牌
可见服务器.js已经添加到我们的节点文件夹中,引用在包.json文件。
点击下一步并完成。
我正在使用UI5应用程序在网页上显示用户电子邮件。
另外,高防云服务器,产业云,在资源路径中添加了XSUAA服务。
XSUAA:
XSUAA服务用于用户帐户和身份验证。在成功认证用户后,它会发布授权码和JWT令牌。
如下所示:
服务器.js节点模块中的文件验证XSUAA服务请求是否经过身份验证。它使用@sap/xssec包提供的JWTStrategy检查请求中的JWT令牌。
Express库用于使用服务将登录的用户详细信息传递到UI5应用程序。
这里,我只是将电子邮件id传递到UI5屏幕。同样,我们可以传递名字、姓氏和其他详细信息。
使用Express库,我正在创建("/user")API以从其他应用程序调用。我们将在UI5应用程序中使用它。
另外,在节点路径中添加UAA依赖:
转到xs-应用程序.json应用程序路由器文件夹(userdetail approuter)的。将身份验证方法更改为"路由",并为节点API添加路由:
右键单击项目名称(UserDetail)->构建->使用云MTA构建工具构建(推荐)。它创建mta\U存档文件夹并在其中生成MTAR文件。
右键单击生成的MTAR文件(UserDetail\U 0.0.1.MTAR),然后选择Deploy->Deploy to SAP Cloud Platform。
它会打开一个弹出窗口,您需要在其中选择端点、组织和空间。点击部署
部署成功后,您可以在Web IDE的右上角以及控制台中看到通知
现在转到SAP Cloud Cockpit并导航到您的CF子帐户->空间->应用程序。您可以在那里看到3个应用程序。
转到应用程序路由器(userdetail approuter)并单击应用程序URL。
它将使用"--.cfapps.生成。hana.ondemand.com"
在新窗口中打开该URL。它可能会要求您的凭据才能登录。
但它会给我一个错误,即"无法获取/
现在,特价云服务器,在URL后面附加"/user"。
例如"--.cfapps.。hana.ondemand.com/user"瞧!!如果验证成功,您可以在网页上看到您的电子邮件id?
所以现在我们需要在UI5应用程序中调用我们的"/user"API。
进入HTML5模块(user)->webapp->View1。查看.xml
在其中添加VBox。
我们需要在控制器文件中调用"user"API。转到View1.controller.
让我们构建应用程序并重新部署。
要加载UI5应用程序,我们需要在URL后面添加命名空间。
在另一个选项卡中打开应用程序路由器URL,并在删除所有点后附加UI5命名空间。
例如"--.cfapps.。hana.ondemand.com/"
在本申请中,命名空间为"com.user用户". 因此,它将形成如下URL:
和输出:
通过这篇博文,我们看到了如何使用节点模块检索用户详细信息,并使用HTML5模块在SAPUI5应用程序中使用它。我希望你觉得这个博客有趣和有用,同时走向云铸造环境。
你可以git克隆这个代码直接到你的工作区,让用户登录电子邮件
https://blogs.sap.com/2019/05/23/how-to-get-the-email-of-the-logged-in-user-in-cloud-foundry/
https://blogs.sap.com/2019/01/07/uaa-xsuaa-platform-uaa-cfuaa-what-is-it-all-about/
https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/c2fec62b49fa43b8bd945c85ecc2e5bd.html