如何从POSTMAN本机应用程序测试启用OAuth 2.0的SAP OData服务?

2020-08-24 20:54发布

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

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


大家好,

我们正在使用SAP NW 7.40 SP12系统,并希望测试具有OAuth 2.0身份验证和授予类型(作为SAML 2.0承载声明(客户端凭据))的SAP OData服务。 我们已经成功测试了POSTMAN本机应用程序版本6.1.3

中的授权类型授权代码。

下面是我们引用进行配置的SAP SCN Wiki页面。

" https://wiki.scn.sap.com/wiki/display/Security/Using+OAuth+2.0+from+a+Web+Application+with+SAML+Bearer+ 断言+流"

还在事务SAML2中将ADFS 4.0配置为" OAuth 2.0身份提供程序"。 JWT令牌正在生成,但是当我们将该令牌与OData服务一起使用时,会产生401未经授权的错误。 请参阅下面的POSTMAN屏幕截图。

由于我们是该特定主题的新手,请指导我们解决此问题。

谢谢

Jagrut

response-body-preview.jpg (102.6 kB)

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

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


大家好,

我们正在使用SAP NW 7.40 SP12系统,并希望测试具有OAuth 2.0身份验证和授予类型(作为SAML 2.0承载声明(客户端凭据))的SAP OData服务。 我们已经成功测试了POSTMAN本机应用程序版本6.1.3

中的授权类型授权代码。

下面是我们引用进行配置的SAP SCN Wiki页面。

" https://wiki.scn.sap.com/wiki/display/Security/Using+OAuth+2.0+from+a+Web+Application+with+SAML+Bearer+ 断言+流"

还在事务SAML2中将ADFS 4.0配置为" OAuth 2.0身份提供程序"。 JWT令牌正在生成,但是当我们将该令牌与OData服务一起使用时,会产生401未经授权的错误。 请参阅下面的POSTMAN屏幕截图。

由于我们是该特定主题的新手,请指导我们解决此问题。

谢谢

Jagrut

response-body-preview.jpg (102.6 kB)
付费偷看设置
发送
3条回答
SKY徐
1楼-- · 2020-08-24 21:26

ABAP不允许使用外部OAuth2授权服务器(在您的情况下:MS ADFS 4.0,颁发JWT)。
充当资源服务器的ABAP仅接受其自己的OAuth2访问令牌(不是JWT)。/p>

您已经提到您已成功将POSTMAN与OAuth2授权代码授予配合使用。
在这种情况下,您已将请求提交到ABAP的OAuth2授权服务器的授权端点,该端点接收了用于交互式范围批准的HTML响应 ; 之后触发到已注册OAuth2客户端的重定向URL的重定向; 然后OAuth2客户端将使用其客户端凭据和获得的授权代码令牌来获取所需的OAuth2访问令牌(由ABAP服务器发布)。

对于SAML承载授予,您已经从ABAP的OAuth2授权服务器的令牌端点请求OAuth2访问令牌,并提供了注册的OAuth2客户端的客户端凭据和有效的SAML承载令牌(可能由MS ADFS 4.0创建)。 为此,您必须在该SAML令牌发行者和ABAP系统(充当SAML使用者)之间建立SAML信任。

实际上,所有相关内容

https://wiki.scn.sap.com/wiki/display/Security/Using+OAuth+2.0+from+a+Web+Application+with+SAML+Bearer+Assertion+Flow

我希望此信息可以帮助您解决问题。

最诚挚的问候,沃尔夫冈

jovirus
2楼-- · 2020-08-24 21:41

你好,

在我们的情况下,我们也面临类似的情况:

1。 我们的Web应用程序登录到外部身份提供者

2。 该外部IdP已在SAP ABAP Netweaver AS中配置为受信任的oAuth 2.0 IdP

3。 在SAP ABAP Netweaver AS中还配置了一个oauth 2.0客户端-信任上述外部IDP

4。 此教程(也已配置)

但是,为了在执行步骤(1)之后使此方案工作,下一步应该采取什么行动:

a。 我们应该请求外部IdP作为承载声明令牌还是...?

b。 我们是否应该从外部IdP接收令牌并调用SAP ABAP Netweaver AS的端点,以便为我们提供此承载声明令牌(此后在oauth令牌端点中使用)? 如果是这种情况,我们是否需要为此在SAP ABAP Netweaver AS中定义一个特定的端点?

如果以上任何一项均无效,我们是否应该在登录后在外部IdP中请求发送承载声明令牌?

非常感谢。

SAP小菜
3楼-- · 2020-08-24 21:37

您好,尼古拉斯,

如何按照步骤4实现教程中提到的步骤。

我在那里遇到的问题很少。 你能帮忙吗?

预先感谢。

此致

Bhavya

一周热门 更多>