authentication - 本地 S4Hana 中的出站 OAuth 连接可能吗?
问题描述
SAP S/4HANA on Premise 是否支持与 OAuth 2.0 client_Credentials 的出站通信以通过 http 将 IDoc(或其他)发送到 OAuth 2.0 受保护的端点?
这个问题可能很简单,但如果您不想花很多钱,SAP 似乎正在尽一切努力隐藏答案。
提前致谢。
解决方案
是的,确实,它支持。
以下是如何使用示例实施方案执行此操作的详细指南:
通过 OAuth 进行通信的核心组件是OAuth 2.0 客户端,该客户端自 ABAP 740 和所有后续 S4HANA 版本 tcode 起可用OA2C_CONFIG
。
要发送 IDoc,您应该在 HANA SM59 中使用 OAuth 身份验证创建 HTTP 目标,并以 XML 形式(在此处描述)向其发送 IDoc。
创建 OAuth HTTP 目标:
- 访问 SM59 事务。
- 在 RFC Connections 表中,选择HTTP Connection to External Server。然后,选择Create,这是纸张图标。
- 在“技术设置”选项卡中,执行以下操作:
- 在目标主机字段中,填写 URL
- 在服务编号字段中输入 443 。
/oauth/token?grant_type=client_credentials
在路径前缀字段中输入。
- 在“登录和安全”选项卡的“使用用户登录”部分中,执行以下操作:
选择基本身份验证。
在用户字段中,从服务密钥中输入您的客户端 ID
在密码字段中,输入服务密钥中的客户端密码
- [可选] 在登录和安全选项卡的安全选项部分中,执行以下操作:
在 SSL 选项中选择活动。
在 SSL 证书下拉列表中选择 DFAULT SSL 客户端(标准)。
- 单击连接测试按钮以完成此任务。
要在 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 个月前的问题中给出。
推荐阅读
- terminal - 如何从 Fish 终端删除插入模式
- python - 如何使用 Python 以 JSON 文件格式将 HTTP API 上传到 AWS S3 存储桶?
- python - 在 scikit-learn 中针对特定模型计算 Lasso 回归的 R^2 分数
- pgadmin-4 - 在 Manjaro 中启动 pgadmin4 时出现错误“无法为应用程序服务器提供午餐”
- scenekit - SceneKit:将 scn 文件保存到磁盘
- python - 如何在没有命令行参数“--noreload”的情况下停止 django autoreload
- mysql - 我正在尝试在 MySQL 中创建一个表,但出现以下错误:
- azure - 上传电子邮件附件时将元数据上传到 Blob
- reactjs - 兄弟组件中的值不同 React
- javascript - 在反应导航 v5 中,顶部标题未与底部选项卡一起显示