如何在目的地中使用OAuth2ClientCredentials?

2020-08-18 08:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨 我正在使用OAuth保护S...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用OAuth保护SCP业务规则API,如本博客

然后,我试图使用UI5中的另一个目标来访问业务规则。

由于业务规则现在受OAuth保护,因此我尝试使用OAuth2ClientCredentials身份验证类型配置目标。 但是,当从UI5调用业务规则时,使用目标的调用仅检索500 Internal Server Error,而没有其他内容。 目的地上的检查连接按钮返回"失败原因:"目前无法检查。请稍后重试"。

请你帮我这个忙吗?

谢谢

巴拉

3条回答
SAP砖家
2020-08-18 09:09

嗨,Bala

如果您在Java Destinations API中将目标与OAuth2ClientCredentials一起使用,就可以了。 对于任何服务器端技术都是如此。

(我将澄清先前的答案)我指的目标纯文本内容不是写入其中的安全数据(您存储的内容) 通过Cockpit),但具有以下特定用例。

要不能够对任何安全的东西(机密,密钥,ID)进行硬编码,您需要使用一个目的地来获取令牌(使用 AJAX请求中的POST方法,其中用户/密码存储在为基本身份验证配置的目标中),另一种方法是获取数据(使用没有身份验证的目标,并使用已设置正确的Bearer标头变量和获取的令牌执行GET)。

我想说这对于测试和练习是可以的,但是很难使其真正安全。 您将必须在受oauth保护的资源上实施CSRF保护,并将oauth令牌设置为具有非常短的寿命(可能约为10秒)-oauth客户端在SCP上的最短寿命为1分钟。 这不应该被认为是最佳的,因为一个聪明的人可以在不到1分钟的时间内用"被盗"的令牌造成实际损失。 请记住,通过按F12键,只需检查浏览器发出的请求就可以捕获oauth令牌。

最好的问候,
Ivan