如何从SAP PO REST API请求中抑制HTTP标头参数

2020-08-25 02:32发布

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

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


你好伴侣,

有什么方法可以抑制/删除使用基本客户端用户名和密码(OAUTH 2.0授予类型为"资源所有者密码凭证"授予)生成的HTTP标头。

基本上是禁止显示Http标头和值,即 A 改名:基本{tokenId} 是使用客户端用户名和客户端密码自动生成的。

因此,在请求服务器之前,必须禁用此"授权",并且由于启用了此标头,因此接口将失败,并显示http 400错误。

感谢和问候,

Rajesh PS

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

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


你好伴侣,

有什么方法可以抑制/删除使用基本客户端用户名和密码(OAUTH 2.0授予类型为"资源所有者密码凭证"授予)生成的HTTP标头。

基本上是禁止显示Http标头和值,即 A 改名:基本{tokenId} 是使用客户端用户名和客户端密码自动生成的。

因此,在请求服务器之前,必须禁用此"授权",并且由于启用了此标头,因此接口将失败,并显示http 400错误。

感谢和问候,

Rajesh PS

付费偷看设置
发送
3条回答
土豆飞人
1楼 · 2020-08-25 02:54.采纳回答

大家好,

这可以通过按照SAP注释" 2878625"升级到SPS16补丁15来解决。 这是使用授予类型作为"资源所有者密码凭证授予"

  • 问题:对授权服务器的Oauth调用总是添加基本身份验证标头。
  • 解决方案:请参阅SAP注释:2878625

在此SAP注意中,为REST接收器通道定义了一个新的模块参数,该参数允许您指定如何向伙伴授权服务器请求用户身份验证:

参数名称:Oauth20AutorizationServerRequestType

参数值:标头或查询,或者无(默认值:标头)

使用默认值标头,并将使用"授权服务器用户名"和"授权服务器密码"字段创建基本授权HTTP标头

使用值查询,OAuth查询字符串中的client_id和client_secret将使用授权服务器用户名和授权服务器密码字段

使用值none,将忽略"授权服务器用户名"和"授权服务器密码"字段,并且不会发送基本授权HTTP标头

*使用值查询时,请勿使用"资源所有者客户端ID"字段。 这将在查询字符串中导致两次client_id。

根据Oauth2.0标准身份验证框架,客户端在每个请求中不得使用多种身份验证方法。 请参阅: https://tools.ietf.org/html/rfc6749#section-2.3

现在在模块配置中,将上述参数名称用作" Oauth20AutorizationServerRequestType",并将参数值用作" none"。 现在,HTTP头中的基本身份验证将被忽略,并且仅作为"用户名"和"密码"作为HTTP正文的一部分进行分派,以获取access_token。 ;-)

谢谢-Rajesh PS

callcenter油条
2楼-- · 2020-08-25 02:39

嗨Rajesh,

感谢您更新此问题/您的评论。 我真的很感激,如果一个人继续前进,并让其他社区成员知道,解决该问题所必需的。 :-)

关于,
Raffael

Doze时光
3楼-- · 2020-08-25 02:52

嗨,Rajesh,

您使用哪种类型的适配器? 如果您使用REST接收器,则只需取消选中"基本身份验证"选项,就不应将标头与请求一起发送出去。

一周热门 更多>