存储ClientID和ClientSecret

2020-09-03 06:12发布

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

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


要使用网络服务,我们需要将客户端ID和客户端密钥存储在无法轻易显示的安全位置。

SECSTORE听起来是一个不错的选择,除了SAP现在使用客户在开发客户时所采用的技术措施。

https://help.sap.com/查看器/280f016edb8049e998237fcbd80558e7/7.5.9/zh-CN/4eeb2dce10f2398de10000000a42189b.html

有人知道其他可用于存储此类机密信息的措施吗?

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

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


要使用网络服务,我们需要将客户端ID和客户端密钥存储在无法轻易显示的安全位置。

SECSTORE听起来是一个不错的选择,除了SAP现在使用客户在开发客户时所采用的技术措施。

https://help.sap.com/查看器/280f016edb8049e998237fcbd80558e7/7.5.9/zh-CN/4eeb2dce10f2398de10000000a42189b.html

有人知道其他可用于存储此类机密信息的措施吗?

付费偷看设置
发送
4条回答
zhangjiyang1323
1楼 · 2020-09-03 06:24.采纳回答

嗨,本森,

您使用哪种API,如何使用?

a)对于SOAP API,我建议基于外部WSDL文件生成服务使用者,创建逻辑端口,并在逻辑端口配置中维护用户名和密码。

https://wiki。 scn.sap.com/wiki/display/ABAPConn/How+to+configure+a+Service+Consumer

b)对于其他形式的REST API,可行的解决方案是在SM59中创建一个新的http目标,维护那里的连接详细信息(包括用户和密码),然后使用CL_HTTP_CLIENT对象调用该目标, 由该目的地创建。

调用方法cl_http_client => create_by_destination
   出口目的地=目的地
   导入客户端=客户端
 例外情况
         destination_not_found = 1
         internal_error = 2
          arguments_not_found = 3
         destination_no_authority = 4
          plugin_not_active = 5
         其他= 6。
 

在这种情况下,您将使用此客户端进行的所有http调用都将收到正确的授权字符串。

与所有RFC目的地一样,用户/密码将自动存储在SECSTORE中

最诚挚的问候,

Viktor

大简至美
2楼-- · 2020-09-03 06:39

是的,在这种情况下不会那么简单

在这种情况下,您可以使用ABAP oAuth 2.0客户端进行配置,并与CL_HTTP_CLIENT结合使用。

然后,客户端密钥将在您要调用的API的服务提供商的特定配置中维护,并且也将其安全地存储。

请尝试以下逐步指南如何调用oAuth REST API: https://wiki.scn.sap.com/wiki/display/Security/Access+Google+APIs+using+the+OAuth+2.0+Client + API

配置客户端的步骤之一是维护和存储客户端密钥和clientSecret

希望这种情况下可以正常工作

Viktor

哎,真难
3楼-- · 2020-09-03 06:18

Hi Viktor,

这确实是您提到的第二种情况。 感谢您的推荐。

不过,只有一个后续问题。 如果REST端点使用用户名和密码进行身份验证,则#2将起作用。 但是,如果使用OAuth对提供了clientID和client Secret且需要进行身份验证的用户进行身份验证,该怎么办? 您是否知道实现此目的的任何现成解决方案?

谢谢。

clasier
4楼-- · 2020-09-03 06:41

嗨维克多,

这是一篇非常有用的文章。 非常感谢!

一周热门 更多>