首页 > 解决方案 > 本地 S4Hana 中的出站 OAuth 连接可能吗?

问题描述

SAP S/4HANA on Premise 是否支持与 OAuth 2.0 client_Credentials 的出站通信以通过 http 将 IDoc(或其他)发送到 OAuth 2.0 受保护的端点?

这个问题可能很简单,但如果您不想花很多钱,SAP 似乎正在尽一切努力隐藏答案。

提前致谢。

标签: authenticationoauthidocs4hana

解决方案


是的,确实,它支持。

以下是如何使用示例实施方案执行此操作的详细指南:

https://wiki.scn.sap.com/wiki/display/Security/OAuth+2.0+-+Integrating+access+protected+web+services+using+the+OAuth+2.0+Client

通过 OAuth 进行通信的核心组件是OAuth 2.0 客户端,该客户端自 ABAP 740 和所有后续 S4HANA 版本 tcode 起可用OA2C_CONFIG

要发送 IDoc,您应该在 HANA SM59 中使用 OAuth 身份验证创建 HTTP 目标,并以 XML 形式(在此处描述)向其发送 IDoc。

创建 OAuth HTTP 目标:

  1. 访问 SM59 事务。
  2. 在 RFC Connections 表中,选择HTTP Connection to External Server。然后,选择Create,这是纸张图标。

  1. 在“技术设置”选项卡中,执行以下操作:
  • 目标主机字段中,填写 URL
  • 在服务编号字段中输入 443 。
  • /oauth/token?grant_type=client_credentials在路径前缀字段中输入。

  1. 在“登录和安全”选项卡的“使用用户登录”部分中,执行以下操作:
  • 选择基本身份验证。

  • 在用户字段中,从服务密钥中输入您的客户端 ID

  • 在密码字段中,输入服务密钥中的客户端密码

  1. [可选] 在登录和安全选项卡的安全选项部分中,执行以下操作:
  • 在 SSL 选项中选择活动。

  • 在 SSL 证书下拉列表中选择 DFAULT SSL 客户端(标准)。

  1. 单击连接测试按钮以完成此任务。

要在 ABAP 程序中使用受 OAuth 保护的 API,您需要通过一些额外的步骤创建 OAuth 客户端配置文件。通信模型如下:

下面是详细的实现示例:

https://wiki.scn.sap.com/wiki/display/Security/Access+Google+APIs+using+the+OAuth+2.0+Client+API

由于集成场景的丰富性,很难将它们全部描述出来,每种配置都是不同的。

PS 关于 S4Hana 通信配置的一些要点已经由我6 个月前的问题中给出。


推荐阅读