云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云服务器_美国服务器防_精选特惠

小七 141 0

ABAP编程仍然是SAP核心ERP中最强大的开发工具,但是我们会发现在不久的将来ABAP环境中还没有完全支持一些云本地特性(例如JWT相关技术)。如果开发人员在NetWeaver和Cloud Foundry环境下工作,一个解决方法是在Cloud Foundry中部署带有云本机函数的REST API,并使用ABAP编程访问REST API,全民淘客,我将介绍:

1如何在Cloud Foundry环境下开发XSUAA secured REST API(使用Spring Boot)

2如何使用ABAP编程调用XSUAA secured REST API

本文中的图片是真实开发系统的截图

开发工具

Java SDK:1.8.0µ

Maven:3.5.4

NodeJS:v12.14.1

Cloud Foundry CLI:6.49.0+d0dfa93bb.2020-01-07

基本概念

Approuter是一个NodeJS应用程序,作为业务应用程序的单一入口。从技术上讲,业务用户总是访问approuter,approuter作为反向服务与底层身份验证服务(XSUAA)和业务应用程序交互。

XSUAA服务负责身份验证和授权。approuter和business app都需要绑定到一个XSUAA实例,

JWT由XSUAA服务在客户端被认证为有效时提供。这篇博文将解释客户端如何使用令牌访问部署在Cloud Foundry环境中的REST API。

在Cloud Foundry环境中开发REST API

在Cloud Cockpit中登录全局帐户和子帐户。在subaccount下的development空间中,返利商城系统开发,选择菜单Service Marketplace,然后创建一个Authorization&Trust Management实例,

XSUAA服务用于身份验证和授权。本文只讨论如何在restapi安全中应用XSUAA。授权角色的主题将不会包含在本博客文章中。所以这里我们创建一个简单的XSUAA实例:

选择application作为服务计划。在指定参数屏幕上,如果需要更多的授权要求,我们可以配置作用域和角色模板。在这里,我们只是让它空着。在分配应用程序屏幕上,我们将其留空。之后,我们将在应用程序部署中将XSUAA绑定到Spring Boot应用程序。请为此实例命名。这里我们把它命名为sapcp bankscrtysrv uaa.

用下面的控制器类创建一个Spring引导应用程序。当最终用户访问/handlescrty时,企业正版软件,应用程序将向客户端打印"Handle security"。

Route部分指定应用程序访问URL。服务部分中的sapcp bankscrtysrv uaa引用了我们之前创建的XSUAA实例。该应用程序部署到云铸造环境后,云服务市场,XSUAA实例将为我们的应用程序提供身份验证和授权服务。

现在我们可以构建并将我们的应用程序推送到云铸造环境。

该应用程序部署成功后,我们可以在云驾驶舱中看到该应用程序。

创建一个新的文件夹,然后放一个包.json文件夹中包含以下内容的文件。

在此文件夹中运行命令npm i以安装依赖项。

创建一个xs.app.json文件包含以下信息的文件。批准人将引用目的地SAPCP bankscrtysrv清单.xml文件。

路由部分说明批准者应用程序访问URL。CloudFoundry环境使用子域(可以在下面的屏幕截图中的子帐户详细信息中找到)来定位正确的租户,租户\主机\模式告诉审批者如何查找子域信息。我们应该始终保持路由部分和租户\主机\模式部分的一致性,因此可以通过正则表达式(.*)提取子域。

目的地部分指定此批准者跟踪的目标应用程序。在本例中,审批者将客户端请求路由到app sapcp bankscrtysrv。目的地名称(dest sapcp bankscrtysrv)应与xs中的目的地完全相同-应用程序.json.在services部分配置的XSUAA实例sapcp bankscrtysrv uaa将在部署中绑定到approuter。

然后我们可以在根文件夹中运行cf push,将这个approuter部署到Cloud Foundry环境。

应用程序sapcp bankscrtysrv现在隐藏在approuter后面,由XSUAA服务保护,不能直接访问。点击此应用程序的路由URL(如下图截图)将触发401错误(授权问题)。

为了访问我们的业务应用程序,我们需要使用合适的路由URL(如下图截图)。

在用户身份验证屏幕中,输入用户电子邮件和密码登录,企业应用开发平台,然后我们的应用程序才能成功评估。

呼叫ABAP环境下的REST API

本节演示如何使用ABAP编程调用部署在Cloud Foundry环境下的REST API。因为我们的REST API是由XSUAA保护的,所以我们需要1)调用XSUAA服务来获取访问令牌,2)使用访问令牌调用REST API。

传递给cl_http_client=>create_by_URL的URL就是REST API URL。我们应该在这里使用restapi URL而不是approuterurl,因为HTTP客户端无法处理将approuter重定向到restapi的过程。

摘要

这篇博客文章介绍了开发人员如何在Cloud Foundry环境中创建和部署restapi。我们使用XSUAA对restapi进行身份验证,并使用approver对最终用户屏蔽XSUAA服务和业务应用程序。